如何使用带有OAuthRequest的Java在Google云端硬盘中创建文件夹

时间:2012-12-01 16:14:34

标签: java oauth google-drive-api scribe

我想在Google云端硬盘中创建一个新文件夹,这是我的代码:

OAuthRequest request = new OAuthRequest(Verb.POST, "https://www.googleapis.com/drive/v2/files");

request.addBodyParameter("title", "Folder");
request.addBodyParameter("mimeType", "application/vnd.google-apps.folder");

service.signRequest(accessToken, request);

Response response = request.send();

我以这种方式获得401 Unauthorized。如果我取出addBodyParameter行,它可以工作,但是创建了一个Untitled文件。

我不知道出了什么问题,也许是缺少一些代码行,有谁知道如何解决这个问题?提前谢谢。

我已修好它:

OAuthRequest request = new OAuthRequest(Verb.POST, "https://www.googleapis.com/drive/v2/files");

JSONObject res = new JSONObject();
res.put("title", "Folder");
res.put("mimeType", "application/vnd.google-apps.folder");

request.addPayload(res.toJSONString());
request.addHeader("Content-Length", ""+res.size());
request.addHeader("Content-Type", "application/json");

service.signRequest(accessToken, request);

Response response = request.send();

必须将标题和mimeType放在JSONObject中,将其作为Payload添加到请求中,并添加到请求的标头,即json的content-lenght和content-type。现在它工作正常。

我希望以后可以帮助别人。

0 个答案:

没有答案