我試用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