2012-02-06 4 views
2

я могу получить все документы в Google Docs с помощьюКак получить все документы в папку в Google Docs

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;

Может кто-нибудь помочь?

ответ

1

Другой парень с помощью 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/

+0

Это я уже видел. Но это не то, что я ищу. Не могли бы вы получить то, о чем я прошу? – Kangkan

+1

Что вы просите? Мне кажется, что я отвечаю на ваш вопрос. – ptomato

+0

Ответ не соответствует OP. Прочтите внимательно. – Kangkan

0

Вот как:

вместо того, чтобы вводить имя папки, используйте resourceID папки query = new FolderQuery(FolderEntry.ResourceId);

Но сначала вам нужно получить ДОКУМЕНТ ДОКУМЕНТА ts в корневой папке и разрешить показ папок: query.ShowFolders = true;, вот как вы получите документы resourceId из документов в корневом каталоге и !

Надеюсь, это поможет!

 Смежные вопросы

  • Нет связанных вопросов^_^