1

最近,我正在尝试使用 scribe-java(https://github.com/fernandezpablo85/scribe-java) 将 Google Drive 集成到我的应用程序中。并通过 Id 方法列出文件/获取文件工作正常。但我无法让插入新文件方法正常工作。这是我的代码(插入):

OAuthService service = new ServiceBuilder()
                .provider(GoogleApi.class)
                .apiKey("[my api key]")
                .apiSecret("[my api secret]")
                .scope(SCOPE)
                .callback("[my callback]")
                .build();
Token token = new Token(accessToken, accessSecret);
OAuthRequest request = new OAuthRequest(Verb.POST, "https://www.googleapis.com/drive/v2/files");
service.signRequest(token, request);
Response response = request.send();

这将在我的谷歌驱动器中创建一个“无标题”的命名文件,我的问题是如何从本地文件系统上传我的文件并指定一个名称?因为我尝试添加添加正文参数,添加标题,所以它们都不起作用。非常感谢

4

1 回答 1

1

您将获得一个“未命名”的命名文件,因为您没有通过 POST 请求发送任何内容。您可以从此文档中找到有关 Google Drive API 的媒体上传协议的更多信息。

这是一个显示分段上传方法的协议的示例:

POST https://www.googleapis.com/upload/drive/v2/files?uploadType=multipart

Authorization: Bearer <Access token>
Content-Length: 44332
Content-Type: multipart/related; boundary="===============0124852474844509178=="

===============0124852474844509178==
Content-Type: application/json

{'title': 'My Image'}
===============0124852474844509178==
Content-Type: image/png

<Binary data removed>
===============0124852474844509178==

我对 Scribe 不熟悉,但您可能想尝试使用适用于 Java 的 Google APIs 客户端库,它抽象了强类型类中的所有协议交互。Google Drive API 的参考指南包含使用此客户端库的代码片段。

于 2012-07-10T18:51:25.717 回答