2012-10-01 160 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

相关问题