2017-01-28 7 views
0

У меня есть идентификатор SubFolder, с которым я хочу получить имя родительской папки на Google Диске. Я долго искал поиск в Google, но никуда не денусь. Я попытался с кодом (см. Ниже), но он не работает. Пожалуйста, кто-нибудь может помочь?C# Получить имя родительской папки из идентификатора подпапки на Google Диске

public string GetFolderName(DriveService service, string folderID) 
    { 
     FilesResource.ListRequest request = service.Files.List(); 
     request.Q = "'" + folderID + "' mimeType = 'application/vnd.google-apps.folder' and title = 'My_Folder_name'"; 
     FileList files = request.Execute(); 
     return files.Items[0].Title; 
    } 

ответ

0

Используйте https://developers.google.com/drive/v3/reference/files/get, чтобы получить метаданные для folderId. Включите fields=parents, который вернет список всех родителей вложенных папок (их может быть много - см. How do I search sub-folders and sub-sub-folders in Google Drive?).

Как только у вас есть родительские (-ы) идентификаторы, вы можете использовать тот же get с fields=name, чтобы получить их имена.

0

Попробуйте использовать Parents: list

списки родителей файла.

Это вернет:

{ 
    "kind": "drive#parentList", 
    "etag": etag, 
    "selfLink": string, 
    "items": [ 
    parents Resource 
    ] 
} 

После того, как вы получите FILEID родителя, теперь вы можете запросить, чтобы получить имя файла в папке. Как указано в этом SO post, ресурс родителей не содержит названия fileID и ему придется создать несколько запросов.

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