谷歌文档列表API PDF文件下载不工作(Android)



我们正在开发一个Android应用程序从Google Doc下载文件。我们可以使用Google Docs list api来列出文件。我们还可以从google docs下载电子表格文件。但是当我们尝试从google docs下载pdf文件时,它总是返回401错误。这是我们用来下载文件的代码片段。

CommonsHttpOAuthConsumer consumer = new CommonsHttpOAuthConsumer(C.OAuth.CONSUMER_KEY, C.OAuth.CONSUMER_SECRET);
consumer.setMessageSigner(new HmacSha1MessageSigner());
consumer.setTokenWithSecret(token, secret);
.........
String url1 = consumer.sign(obj.url+"&exportFormat=txt"); // Create complete url
get.setURI(URI.create(url1));
response = client.execute(get);
if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) 
{
    Log.v("GDATA MAIN", "not error");
}
else
{
   Log.v("GDATA MAIN", "error"+response.getStatusLine().getStatusCode());
}

这是我生成下载文件的URL。

https://doc-04-0s-docs.googleusercontent.com/docs/securesc/5pv2dhsk6q500b1vl99u2gr2gvpqfifr/d8oihkmccnh39ie9io5bhqaf3jof7t16/1324030500000/01234800628230479895/01234800628230479895/0B4royw-5u0TDNGU3ZjZiZTAtN2ZhNi00YWE3LWEwZGEtMTMwNWJhMGE1YWRk?h=16653014193614665626& e = download&gd = true& exportFormat = txt& oauth_signature = 3 lfp0reujhmwstxmkmaljh % 2 bz7ug % 3 d& oauth_token = 1% 2 fqneptlxrht8q6yk8oloi2zpyzzqptbb4mqrbjf-hjfm& oauth_consumer_key = 418002400742 - nrh3mt73pfvl6flshi8f7uvki49ofqj8.apps.googleusercontent.com& oauth_version = 1.0, oauth_signature_method = HMAC-SHA1& oauth_timestamp = 1324031523, oauth_nonce = 351034367494689817

猜猜,为什么我们不能下载PDF,但电子表格格式可以工作?

我认为您在授权令牌时没有请求正确的作用域。您应该请求令牌的范围是:

https://docs.google.com/feeds/
https://spreadsheets.google.com/feeds/
https://docs.googleusercontent.com/

你刚刚让我意识到我们文档的授权部分引入了一个错误,删除了docs.googleusercontent.com范围。我把它加回去

最新更新