dongshijiao6890 2014-07-23 11:44 采纳率: 0%
浏览 68
已采纳

为什么我尝试使用Google Drive SDK插入CSV文件时出现错误400?

I have some old code that inserts a csv file into a Google Drive account and it was opened by Google Spreadsheets by default.

Couple days ago I started to receive this error message:

There is some problems with the Google connection. Please, try again. (Error calling POST https://www.googleapis.com/upload/drive/v2/files?convert=false&uploadType=multipart&key=XXXXXXXXXXXXXXX: (400) Invalid mime type provided)

Here is some of the code:

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;
    }

I'm pretty sure that it is sending 'application/vnd.google-apps.spreadsheet' as mimetype.

Here a call to that function:

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

I made some tests changing the value of the 'convert' parameter to true and didn't work.

  • 写回答

1条回答 默认 最新

  • dsepcxw181184853 2014-07-23 15:59
    关注

    You should be sending it with the mimeType of text/csv. Google Sheets will still be able to open it, so there is no need to misrepresent it as a true Google Spreadsheet.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮