2014-04-07 86 views
0

我有一段代碼用於列出使用Drive API的所有可用文件夾。但是在3000個文件夾之後它錯誤地顯示爲'500內部錯誤'。如何根據NextPageToken找到哪個文件夾以及爲什麼會出現此錯誤?Google Drive API在提取文件夾時返回'500 Internal Server Error'錯誤

注意:它在上週工作正常,從今天開始我們開始看到這個問題。

注意:即使重試也不起作用。我已將MaxResults值更改爲1,但即使失敗。

FilesResource.ListRequest list = _DriveService.Files.List(); 
        list.Q = "mimeType = 'application/vnd.google-apps.folder' and trashed = false"; 
        list.MaxResults = 1000; 
        FileList folders = null; 
        do 
        { 
         folders = list.Fetch<FileList>(); 
         foreach (File folder in folders.Items) 
         { 
         retColl.Add(folder.Id, folder); 
         } 
         list.PageToken = folders.NextPageToken; 
        } while (!string.IsNullOrEmpty(list.PageToken)); 
+0

你能否澄清一下,它是否總是在3000以後失敗? – pinoyyid

+0

我無法閱讀確切的第3021個文件夾。我能夠獲取3020個文件夾,但有了下一個頁面令牌並且查詢MaxResult = 1,我得到'500內部服務器錯誤'。 – Jeevan

+0

所以接下來要考慮的問題是數字3021或文件夾。你能否創建10個以上的文件夾,並查看它是否在同一個地方失敗。 – pinoyyid

回答

0

一般來說,您可以隨機獲得ERROR 500,這意味着您的請求無法滿足各種(難以定性)原因。我記得看到一個YouTube(Ali Afshar或Steven Bazyl)討論處理這個問題。你的代碼應該準備好在RANDOM時間之後重新嘗試來處理這個問題。

+0

我嘗試了下面兩種方法,但到目前爲止沒有運氣 (1)在兩次查詢之間添加了RANDOM時間量(2)降低了查詢MaxResult值,即頁面大小 – Jeevan

相關問題