2012-10-01 158 views
1

我有一個訪問雲端硬盤的vb.net應用程序。我有一切工作,除了列表文件內的文件夾。我需要從用戶界面傳遞文件夾ID並顯示其中的文件。Google Drive API - 使用.NET列出文件夾內的文件

我已閱讀其他答案例如(Getting a list of files by folder on Drive SDK)哪個狀態使用一個「q」參數附加到一個GET URL,但我沒有建立GET URL。我看不出如何運行ListRequest時,下面通過Q PARAM:

這從根返回一個文件列表罰款,但如何通過Q到它從一個指定的文件夾恢復文件:

Dim result As New List(Of File)() 
     Dim request As FilesResource.ListRequest = service.Files.List() 

     Do 
      Try 
       Dim files As FileList = request.Fetch() 
       result.AddRange(files.Items) 
       request.PageToken = files.NextPageToken 
      Catch e As Exception 
       Console.WriteLine("An error occurred: " + e.Message) 
       request.PageToken = Nothing 
      End Try 
     Loop While Not [String].IsNullOrEmpty(request.PageToken) 
     Return result 

我需要傳遞一個ID,如父母中的「0B_p57qQpdddyl8nR0NBT3hXQUdIRFE」。文檔中的PHP示例顯示在service.files.list()方法內添加參數,但在.NET版本中沒有重載,因此我不知道如何添加過濾器....

I可以運行:

Dim request As ChildrenResource.ListRequest = service.Children.List(folderid) 

傳遞folderID然後:

Dim files As ChildList = request.Fetch() 

但是,這並不像返回的第一個函數的文件列表,但剛子文件的ID意味着我有然後爲每個等等做一個單獨的文件請求。

任何人都可以幫忙嗎? 謝謝。

回答

2

ListRequest對象有一個Q屬性,您可以設置:

Dim request As FilesResource.ListRequest = service.Files.List() 
request.Q = "'0B_p57qQpdddyl8nR0NBT3hXQUdIRFE' in parents" 
+0

精湛的感謝。我在發佈之前確實嘗試了該屬性,但沒有在雙引號內使用正確的語法單引號。 – JimXC

相關問題