我试用http请求从谷歌文档下载PDF文件使用谷歌文档列表API和OAuth 1.0。我没有使用任何外部API for oauth或谷歌文档。谷歌文档API:无法下载文件,下载文档作品
继文档后,我获得了pdf的下载URL,它可以在浏览器中正常工作。
根据文件,我应该送看起来像这样的请求:
GET https://doc-04-20-docs.googleusercontent.com/docs/secure/m7an0emtau/WJm12345/YzI2Y2ExYWVm?h=16655626&e=download&gd=true
但是,下载网址有一些有趣的事情与paremeters怎么回事,它看起来像这样:
https://doc-00-00-docs.googleusercontent.com/docs/securesc/5ud8e...tMzQ?h=15287211447292764666&\;e=download&\;gd=true
(在网址'& amp \;'实际上没有'\',但我把它放在帖子中以避免将它转义为'&')。
那么这里是什么情况;我有3个参数h,e,gd还是我有一个参数h值为15287211447292764666&ae=download&gd=true
,或者我可能有以下3个参数值对:h = 15287211447292764666
,amp;e = download
,amp;gd = true
(我认为是这样,它看起来像一个BUG)?
为了形成一个合适的http请求我需要知道什么是参数名称和值,但是我下载的URL是令人困惑的。而且,如果参数名称是h,amp; e和amp; gd,则是包含那些有效获取文件内容的参数的请求(如果不是,那么它就像是一个bug)。
我没有下载和上传文件(msword文档)的问题,我的下载文件的范围是正确的。
我尝试了很多不同的请求。当我将3个参数(h,e,gd)分开处理时,我得到了Unauthorized 401
。如果我假设我只有一个参数--h值为15287211447292764666&ae=download&gd=true
,我得到500 Internal Server Error
(google api声明:'在API中发生了意外错误','如果问题仍然存在,请在论坛发帖')。
如果我没有放置任何参数或者我输入3个参数-h,amp,g,gd,我会得到302 Found
。我试着按照发送更多请求的重定向,但仍然无法获得实际的pdf内容。我也在OAuth Playground中进行了实验,看起来它不能正常工作。通过下载URL在OAuth中发送获取请求的响应为302 Found
,而不是使用PDF内容进行响应。
这是怎么回事?我如何在回复中获得pdf内容?请帮忙。
你是怎么得到的下载网址在URL替换
&access_token=<token>
?它可能是HTML实体编码的。 –我一直在使用OAuth Playground和在线工具发送和浏览回复以发送请求 - 投掷,并且它们都以&amp;而不是回复正文中的回应。然而,当我使用另一个在线工具 - API厨房的URL是正确的 - 没有安培,所以你一定在这里,非常感谢:)但我已经尝试发送请求获取文件的参数e,gd,h和我' m得到401未授权 – user1453389
关于第二个想法,我仍然不确定http实体编码,我假设OAuth Playground和hurl编码的实际响应和api厨房没有,但将网址与&放在浏览器的作品 - 它打开PDF和如果我使用api厨房的网址 - 而不是&amp;我在浏览器中没有任何东西,所以也许实体编码是在谷歌方面和api厨房做解码,我很困惑这里 – user1453389