Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么在使用Google Drive SDK插入CSV文件时会出现错误400?_Php_Csv_Google Drive Api_Google Sheets_Mime Types - Fatal编程技术网

Php 为什么在使用Google Drive SDK插入CSV文件时会出现错误400?

Php 为什么在使用Google Drive SDK插入CSV文件时会出现错误400?,php,csv,google-drive-api,google-sheets,mime-types,Php,Csv,Google Drive Api,Google Sheets,Mime Types,我有一些旧代码,可以将csv文件插入谷歌硬盘帐户,默认情况下,它是由谷歌电子表格打开的 几天前,我开始收到以下错误消息: 谷歌连接有一些问题。请再试一次。 (呼叫POST时出错) : (400)提供的mime类型无效) 下面是一些代码: public function createDriveFile($tmpFilePath,$title,$fileMimetype = '',$description = '',$googleDocmimeType = ''){ $file = ne

我有一些旧代码,可以将csv文件插入谷歌硬盘帐户,默认情况下,它是由谷歌电子表格打开的

几天前,我开始收到以下错误消息:

谷歌连接有一些问题。请再试一次。 (呼叫POST时出错) : (400)提供的mime类型无效)

下面是一些代码:

public function createDriveFile($tmpFilePath,$title,$fileMimetype = '',$description = '',$googleDocmimeType = ''){
      $file = new Google_DriveFile();
      $file->setTitle($title);
      $file->setDescription($description);

      $data = file_get_contents($tmpFilePath);
      $optParams = array('data' => $data);

      if($fileMimetype != '' ) {
        if($fileMimetype === 'text/csv' ) {
          $optParams['convert'] = false;
          $optParams['mimeType'] = 'application/vnd.google-apps.spreadsheet';
        } else {
          $optParams['convert'] = true;
        }
        $file->setMimeType( $fileMimetype );
      }
      if ($googleDocmimeType != ''){
        $optParams['mimeType'] = $googleDocmimeType;
      }

      $createdFile = $this->_driveService->files->insert($file, $optParams);

      return $createdFile;
    }
我很确定它正在以mimetype发送
'application/vnd.google apps.spreadsheet'

下面是对该函数的调用:

$createFileInfo = $googleOauth->createDriveFile('/tmp/file.csv', 'file.csv','text/csv');

我做了一些测试,将
'convert'
参数的值更改为
true
,但没有成功。

您应该将其与
文本/csv
的mimeType一起发送。Google Sheets仍然可以打开它,因此没有必要将其误称为真正的Google电子表格。

可能需要澄清并标记您正在编码的语言,我假设它是php,但正确标记它将帮助正确的向导找到您的问题。谢谢您的评论@Red15,是的,它是php