2016-02-17 69 views
0

我需要知道如何正確使用文件搜索方法參數,才能在Drive API中移動文件夾樹。使用Google Drive API導航到文件夾

使用JavaScript,我已經通過了Quickstart,成立了應用程序和API能夠在谷歌開發控制檯,已獲得授權,可在與gapi.client.drive.files.list()方法根目錄讀取文件的名字,但我堅持在點運行Files Search調用以導航到特定目錄。

我想這個變種:

GET https://www.googleapis.com/drive/v2/files?q='0B36wII03Fph8aFhtTFN5SVRYR0U'+in+parents&key={CLIENT_ID} 

...但我很困惑,如何調用GET請求。我從來沒有直接從JS/HTML使用REST調用,所以我可能只是缺少一些基本的...但是,我真的不知道如何在我的代碼中使用它...

I'已經試過用Files:List頁面上的查詢參數的發揮,只用FILEID作爲參數,但我不斷收到400響應:

400 OK 
- SHOW HEADERS - 
{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "invalid", 
    "message": "Invalid Value", 
    "locationType": "parameter", 
    "location": "q" 
    } 
    ], 
    "code": 400, 
    "message": "Invalid Value" 
} 
} 

我敢肯定,這是簡單的東西,但純的Http休息的東西是不是我的特長...感謝任何線索!

+1

下手的關鍵不是客戶端ID,它的API密鑰,只會爲公衆要求的工作並不喜歡這個請求,這將需要身份驗證,您需要使用的access_token = {的access_token}然而,這不是你的問題,但它會是,一旦你修復將q的parm – DaImTo

+1

只是爲了闡述什麼@DalmTo說,關鍵是不CLIENT_ID。這是您可以在開發者控制檯中獲得的API密鑰。 – gerardnimo

+0

哦,我使用了錯誤的鑰匙嗎?好的,儘快測試! :/ –

回答

1

您是否嘗試過使用文檔工具? https://developers.google.com/drive/v3/reference/files/list

您使用的查詢是正確的,只是更改版本,您使用的是v2,我認爲這個參數適用於v3。

我在放置'+'字符時也遇到了一些問題,我只是將它刪除到工具中,並且工作正常,好像它重新編碼字符。

1

嘗試爲您的q參數嘗試不同的編碼。

而不是

q='0B36wII03Fph8aFhtTFN5SVRYR0U'+in+parents 

使用本:

q=%270B36wII03Fph8aFhtTFN5SVRYR0U%27%20in%20parents 

哦,更新的API V3。

https://www.googleapis.com/drive/v3/files?orderBy=name&q=name+contains+'search+term'+AND+mimeType+contains+'application%2Fvnd.google-apps.folder'&key={YOUR_API_KEY} 

奇怪的是,完全相同的網址記錄爲當您使用Google APIs Explorer工作:

雖然使用V3 API,我調用此網址時看到完全相同的問題。

作爲最後的手段,我嘗試了不同的請求參數編碼,然後API工作。

這裏是我的電話替代其中工程:

https://www.googleapis.com/drive/v3/files?orderBy=name&q=name%20contains%20%27search%20term%27%20AND%20mimeType%20contains%20%27application%2Fvnd.google-apps.folder%27&key={YOUR_API_KEY} 

這是違背了谷歌驅動器文檔,但很好地工作。

+1

感謝這個。現在已經放棄了這一點,但是當我有一段時間再次領取項目時,會回到這個答案。 –

相關問題