我正在尝试使用google文档列表API和OAuth 1.0从从google docs 下载pdf文件的http请求。我没有使用任何外部API用于oauth或谷歌文档。
根据文档,我获得了pdf的下载URL,该文件在放入浏览器时可以正常工作。
根据文档,我应该发送一个如下所示的请求:
GET https://doc-04-20-docs.googleusercontent.com/docs/secure/m7an0emtau/WJm12345/YzI2Y2ExYWVm?h=16655626&e=download&gd=true
然而,下载网址对于参数来说有点不可思议,它看起来像这样:
https://doc-00-00-docs.googleusercontent.com/docs/securesc/5ud8e...tMzQ?h=15287211447292764666&\;e=download&\;gd=true
(在网址'& amp \;'实际上没有'\'但是我把它放在帖子中以避免将其作为'&'转义。)
那么这是怎么回事;我有3个参数h,e,gd或者我有一个值为15287211447292764666&ae=download&gd=true
的参数h,或者我有以下3个参数值对:h = 15287211447292764666
,amp;e = download
,{ {1}}(我认为是这种情况,它似乎是一个错误)?
为了形成正确的http请求,我需要知道参数名称和值是什么,但是我的下载URL令人困惑。此外,如果params名称是h,amp; e和amp; gd,则是包含那些对获取文件内容有效的params的请求(如果不是,它似乎是一个bug)。
我在下载和上传文档时遇到问题(msword文档),我下载文件的范围是正确的。
我经常尝试不同的请求。当我单独处理3个参数(h,e,gd)时,我得到amp;gd = true
。如果我假设我只有一个参数 - h值为Unauthorized 401
,我会得到15287211447292764666&ae=download&gd=true
(谷歌api说:'API中出现意外错误','如果问题仍然存在,请发布在论坛里。')。
如果我没有放任何参数,或者我放了3个参数-h,amp; e,amp; gd,我得到500 Internal Server Error
。我尝试按照重定向发送更多请求,但我仍然无法获得实际的pdf内容。我也在OAuth Playground中进行了实验,看起来它没有工作,因为它不应该。在OAuth中使用下载URL发送获取请求时会使用302 Found
进行响应,而不是使用PDF内容进行响应。
这里发生了什么?如何在回复中获取pdf内容?请帮忙。
答案 0 :(得分:0)
我用oAuth2尝试了同样的问题(错误401)。
通过在请求标头中插入oAuth2令牌而不是在URL中解决。
我已通过&access_token=<token>
setRequestHeader("Authorization", "Bearer <token>" )