2012-10-02 52 views
5

我正在測試Google Drive API。測試腳本通過HTTP GET來訪問文件 - >列表API,但不知何故,我總是在項目中獲得一個空列表。我的谷歌驅動器中有數百個文件,所以結果是意外的。 HTTP響應如下所示。訪問Google Drive API返回空文件列表

{ 
    "kind": "drive#fileList", 
    "etag": "\"VEU5fga3uYlZRf0pG-N1kS4iWP4/Kxo5eGvPKynWfroe9v5L5T43-n0\"", 
    "selfLink": "https://www.googleapis.com/drive/v2/files?maxResults=5", 
    "items": [] 
    } 
+0

我的範圍是https://www.googleapis.com/auth/drive。我也嘗試使用https://docs.google.com/feeds範圍和HTTP GET https://docs.google.com/feeds/default/private/full,但這也不起作用。 – kvzrock

+0

你能顯示你的要求嗎? –

+0

看起來像通過服務帳戶訪問谷歌驅動器api不同於通過服務帳戶綁定到的用戶訪問谷歌驅動器。服務帳戶獲得了與用戶的谷歌驅動器空間分離的自己的小世界。 – kvzrock

回答

1

爲了讓服務帳戶訪問我自己的谷歌Drive上的文件,我得給權限的服務帳戶的電子郵件地址。一旦權限設置正確,該列表就會填充允許服務帳戶訪問的文件。

+0

您能否詳細說明您如何授予服務帳戶的權限?我使用服務帳戶電子郵件地址([email protected])共享了我的文件和文件夾,但似乎不起作用。 – ifunk

+6

我發現我的問題。我將範圍設置爲「.../auth/drive.file」。將其更改爲「.../auth/drive」解決了該問題。 – ifunk

+0

@ifunk我有同樣的問題,你能解釋一下你做了什麼嗎?提前致謝! – mongotop

1

這足以包括https://www.googleapis.com/auth/drive.readonly.metadata範圍,列出文件

4

這通常意味着你已經與不給你權限查看這些文件的文件範圍認證。

例如,範圍https://www.googleapis.com/auth/drive.file僅提供對由應用程序創建或打開的文件的訪問。您將無法訪問在Google雲端硬盤界面或其他應用中創建的文件。

如果你想訪問所有的文件,你將不得不使用另一個範圍。例如,https://www.googleapis.com/auth/drive會給你完整的允許範圍來訪問用戶的所有文件

你可以找到有關可用範圍here的信息。用它爲您的應用選擇合適的範圍。

+1

這是正確的答案。 – Cheeso

相關問題