【问题标题】:Google Docs List API PDF File Download is not working ( Android )Google Docs List API PDF 文件下载不起作用(Android)
【发布时间】:2011-12-16 12:37:15
【问题描述】:

我们正在开发一个 Android 应用程序来从 Google Doc 下载文件。我们能够使用 Google Docs List API 列出文件。我们还能够从谷歌文档下载电子表格文件。但是当我们尝试从谷歌文档下载 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=3lfP0reuJhMWstxMKMAlJh%2BZ7Ug%3D&oauth_token=1%2FQnEPtLXrhT8q6yk8oLoI2ZPyZzQptbB4mQrBJf-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,但电子表格格式可以使用?

【问题讨论】:

  • 您的代码 sn-p 仍然没有显示您设置范围的位置。
  • 您不能将 PDF 导出为文本。即使使用 exportFormat=txt,您仍然可以获得 PDF 内容。至于您的错误,您可能在 OAuth 令牌中缺少“文档”或“PDF/文件下载”范围;这些与访问电子表格所需的“电子表格”范围不同。

标签: java android google-docs-api google-data


【解决方案1】:

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

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

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

【讨论】:

猜你喜欢
  • 2022-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-07
  • 1970-01-01
相关资源
最近更新 更多