2012-06-13 137 views
1

我试用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&amp\;e=download&amp\;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内容?请帮忙。

+0

你是怎么得到的下载网址在URL替换&access_token=<token>?它可能是HTML实体编码的。 –

+0

我一直在使用OAuth Playground和在线工具发送和浏览回复以发送请求 - 投掷,并且它们都以&而不是回复正文中的回应。然而,当我使用另一个在线工具 - API厨房的URL是正确的 - 没有安培,所以你一定在这里,非常感谢:)但我已经尝试发送请求获取文件的参数e,gd,h和我' m得到401未授权 – user1453389

+0

关于第二个想法,我仍然不确定http实体编码,我假设OAuth Playground和hurl编码的实际响应和api厨房没有,但将网址与&放在浏览器的作品 - 它打开PDF和如果我使用api厨房的网址 - 而不是&我在浏览器中没有任何东西,所以也许实体编码是在谷歌方面和api厨房做解码,我很困惑这里 – user1453389

回答

0

我尝试过与oAuth2相同的问题(错误401)。

通过在请求头中插入oAuth2标记而不是在URL中解决。

我已经setRequestHeader("Authorization", "Bearer <token>")

+0

好的,这是事情 - 我在OAuth Playground中进行了实验,获得了下载URL链接,删除了所有的&东西,并发送请求来下载包含请求URL中的参数的文件,答复是401未经授权的(和以前一样)。当我选择将参数放入标题时,我不再有401未经授权的情况,实际上我什么也没得到 - 空响应。将oauth标记放在标题中的方法是OAuth 2.0方式,它在Oauth 1.0中不同。 – user1453389

+0

Outh Playground没有回应PDF内容,但是当我自己形成请求时,将所有OAuth参数放在标题中,并且URL中的e,h,gd参数最终收到了文件的内容,所以谢谢。 ,你的提示帮助:) – user1453389