Php 为什么在使用Google Drive SDK插入CSV文件时会出现错误400?
我有一些旧代码,可以将csv文件插入谷歌硬盘帐户,默认情况下,它是由谷歌电子表格打开的 几天前,我开始收到以下错误消息: 谷歌连接有一些问题。请再试一次。 (呼叫POST时出错) : (400)提供的mime类型无效) 下面是一些代码: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
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