2012-06-13 155 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