如何在谷歌文档中获取文件夹中的所有文档
本文关键字:文档 文件夹 获取 谷歌 | 更新日期: 2023-09-27 18:23:41
我可以使用获取谷歌文档中的所有文档
public DocumentsFeed GetDocs()
{
DocumentsListQuery query = new DocumentsListQuery();
DocumentsFeed feed = service.Query(query);
return feed;
}
但是,我如何才能获得特定文件夹中的文档?我想发现文件夹列表,然后在树视图中填充文件夹。在选择文件夹时,我想把文件放在那个文件夹里。
要获取文件夹,我正在使用
public DocumentsFeed GetFolders()
{
FolderQuery query = new FolderQuery("root"); //http://docs.google.com/feeds/documents/private/full
DocumentsFeed feed = service.Query(query);
return feed;
}
对于服务,我使用private DocumentsService service;
有人能帮忙吗?
另一个使用API的人描述了他是如何做到这一点的:
var docService = new DocumentsService("company-app-version");
docService.setUserCredentials("username", "password");
using Google.GData.Client;
using Google.GData.Extensions;
using Google.GData.Documents;
// snipped method declaration etc
var docService = new DocumentsService("company-app-version");
docService.setUserCredentials("username", "password");
var folderList = docService.Query(new FolderQuery());
var fLinks = folderList.Entries.Select(e =>
new
{
// note how to get the document Id of the folder
Id = DocumentsListQuery.DocumentId(e.Id.AbsoluteUri),
Name = e.Title.Text
});
foreach (var folder in fLinks)
{
Console.WriteLine("Folder {0}", folder.Name);
var fileList = docService.Query(
new SpreadsheetQuery()
{
// setting the base address to the folder's URI restricts your results
BaseAddress = DocumentsListQuery.folderBaseUri + folder.Id
});
foreach (var file in fileList.Entries)
{
Console.WriteLine(" - {0}", file.Title.Text);
}
}
来源:http://jtnlex.com/blog/2010/06/09/google-docs-api-get-all-spreadsheetsdocs-in-a-folder/
方法如下:
使用文件夹query = new FolderQuery(FolderEntry.ResourceId);
的resourceID
,而不是键入文件夹的名称
但首先,您需要在根目录中获取所有文档,并启用显示文件夹:query.ShowFolders = true;
,这就是获取根目录中文档的resourceId和文件夹!
希望这能有所帮助!