google-drive-sdk
2012-12-03 52 views 1 likes 
1

查詢時,該代碼運行正常使用的範圍「https://www.googleapis.com/auth/drive」錯誤500執行與drive.file範圍

File folderEntry = drive.files().get("XXXXj0_srDPPGUEtHaVYtZFljMEk").execute(); 
String driveQuery = "title = '" + "test" + "' and mimeType = 'application/vnd.google-apps.folder' and "; 
driveQuery += "'" + folderEntry.getId() + "' in parents"; 
Files.List request = drive.files().list(); 
request.setQ(driveQuery); 
FileList files = request.execute(); 

但是,如果我改變的範圍「憑證」中的「https://www.googleapis.com/auth/drive.file」,並在API客戶端訪問面板中引發錯誤500。

500 Internal Server Error { "code" : 500, "errors" : [ { 
    "domain" : "global", 
    "message" : "Internal Error", 
    "reason" : "internalError" } ], "message" : "Internal Error" } 

我正在使用服務帳戶,並且父文件夾是由應用程序創建的。

我不明白爲什麼我不能執行此查詢。

+0

通常這些500錯誤隨機發生。你每次執行這個請求都會得到它嗎? – Jerome

+0

是的,我多次複製它們,他們都扔了500 –

回答

0

我也得到相同的錯誤。然而,這種解決方法確實得到了我創建的文件夾的所有子項,直到google解決了我想的查詢問題。

ChildList list = service.children().list(FILEID).execute(); 
0

這可能有點晚了,但是......我相信會出現問題,因爲當你的範圍https://www.googleapis.com/auth/drive.file運行,你只能看到你的程序創建的文件。但是,您的查詢可能會返回超出您的授權範圍的元數據。

我有同樣的問題,以及和管理由加入的DRIVE_METADATA_READONLY範圍進行修復:

credential = GoogleAccountCredential.usingOAuth2(this, DriveScopes.DRIVE_FILE, **DriveScopes.DRIVE_METADATA_READONLY**); 
相關問題