Google Drive SDK:插入文件会导致PHP无标题

时间:2012-07-24 15:02:44

标签: php google-drive-api

我确实知道前两篇文章:

但除了答案'你确定你使用的是最新版本'之后,没有一个人回过头来说是肯定还是否,或者他们是否设法找到答案。

因为我和他们做同样的事情,我正在使用最新的apiDriveService.php ,最后修订日期是2012年6月。

正确找到数据但是当你到达插入行时,显然发生了错误。

我不明白为什么对于SDK php的例子,它似乎正确。

这是Google Api控制台中的问题吗?或者我需要将数据编码为特殊的数据吗?

编辑:在apiDriveService文件中,我可以看到这一行:

$this->files = new FilesServiceResource($this, $this->serviceName, 'files', json_decode('{"methods": {
"insert": {"scopes": ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.file"],
"parameters": {"convert": {"default": "false", "type": "boolean", "location": "query"}, "targetLanguage": {"type": "string", "location": "query"}, "sourceLanguage": {"type": "string", "location": "query"}, "ocrLanguage": {"type": "string", "location": "query"}, "pinned": {"default": "false", "type": "boolean", "location": "query"}, "ocr": {"default": "false", "type": "boolean", "location": "query"}, "timedTextTrackName": {"type": "string", "location": "query"}, "timedTextLanguage": {"type": "string", "location": "query"}}, "supportsMediaUpload": true, "request": {"$ref": "File"}, "mediaUpload": {"maxSize": "10GB", "accept": ["*/*"], "protocols": {"simple": {"path": "/upload/drive/v2/files", "multipart": true}, "resumable": {"path": "/resumable/upload/drive/v2/files", "multipart": true}}}, "id": "drive.files.insert", "httpMethod": "POST", "path": "files", "response": {"$ref": "File"}}, ...);

在我发送的参数中,有数据和mimetype

$created = $apiService->files->insert($driveFile, array('data' => $data,'mimeType' => $mimeType));

在insert函数中,有一个包含数据和mimetype的array_merge:

public function insert(DriveFile $postBody, $optParams = array()) {
  $params = array('postBody' => $postBody);
  $params = array_merge($params, $optParams);
  $data = $this->__call('insert', array($params));
  if ($this->useObjects()) {
    return new DriveFile($data);
  } else {
    return $data;
  }
}

我没有在上面提到的那一行的插入部分找到它们。它与之相关吗?

1 个答案:

答案 0 :(得分:1)

只需从Google SVN查看当前的API客户端即可。 http://code.google.com/p/google-api-php-client/source/checkout 我们遇到了同样的问题,但在进行了svn结账后,它神奇地起作用,感谢Alain和Claudio对此的快速反应。