2017-06-01 133 views
0

我試圖從Google雲端硬盤下載文件到我的硬盤。整個認證在JavaScript中完成,我接收到來自服務器的響應:Google Drive API - 下載文件問題(javascript,php)

請求= gapi.client.drive.files.get({ 'FILEID':ID}); request.execute(函數(RESP){} ........

我必須按順序正確的範圍被允許下載文件:

https://www.googleapis.com/auth/drive

也高於請求返回我downloadUrl。

我想將downloadUrl發送給PHP,但下載過程失敗並出現401錯誤。

有什麼建議嗎?我試圖直接用Javascript下載文件,但我還沒有找到一個好的解決方案。

謝謝,讓我知道你是否有任何問題。 這是我的第一個問題在這裏,因爲這個人是我的命:d

+0

你能發佈確切的401錯誤嗎?我的猜測是你的PHP腳本沒有權限下載它從JavaScript發送它的訪問令牌。 https://developers.google.com/drive/v3/web/manage-downloads – DaImTo

+0

@DaImTo是的,這是問題所在。但我不知道如何從JS發送訪問令牌,如果我正在對PHP進行新的身份驗證,我收到了:

類型:Google_Service_Exception

消息:錯誤調用GET https://www.googleapis。 com/drive/v2/files/0BzoBu-s2PDkDRjhHU1RLZFhkOEk?alt = media:(403)超出未認證使用的每日限額。繼續使用需要註冊。

- 從未有過這個問題。 –

回答

0

這是一個公共文件或私有文件?您是否在PHP中將正確的身份驗證令牌發送給GDrive? 401還有其他警告/錯誤嗎?

401與GDrive API意味着您提供的憑據無效。您不能在PHP中提供正確的身份驗證,或者至少與您在JS中使用的權限不同。

+0

這是我嘗試在downloadUrl上的file_get_content時得到的錯誤:HTTP請求失敗! HTTP/1.0 401未授權 –

+0

該文件是私人文件,但我與公用文件存在相同的問題。 –

+0

一旦你得到下載網址,你仍然需要通過你的認證令牌來下載它。您仍然必須在PHP中設置授權標頭。 – JonLuca