2014-08-28 3 views
2

Я создал файл для Drive root с помощью Google Диска Android API. Как я могу получить этот идентификатор файла, чтобы поделиться им с помощью Google Client Library?Как получить идентификатор файла на Google Диске

Получение DriveFileResult в ResultCallback<DriveFileResult> обратного вызова возвращает Null:

String fileId = result.getDriveFile().getDriveId().getResourceId(); 

ответ

3

Обратный вызов является файл создается локально. У DriveId будет только ресурс, когда файл синхронизируется с сервером. До тех пор getResourceId возвращает null.

https://developer.android.com/reference/com/google/android/gms/drive/DriveId.html#getResourceId()

Использование CompletionEvents получать уведомления при синхронизации с сервером произошло. Тогда вызов getResourceId() должен доставить то, что вы ожидаете.

+0

Спасибо, но могли бы вы предложить, как это сделать? –

+0

Слушайте, мой файл был создан на Диске, и я увидел его. Это значит, что файл уже синхронизирован? –

+2

Вам не нужно ничего делать для синхронизации, это произойдет автоматически. Вы можете прослушивать события изменений, чтобы узнать, когда изменяется ресурс, включая добавление ресурса: https://developers.google.com/drive/android/events –

0

Этот код может помочь идентифицировать идентификатор файла, присутствующего на диске Google.

public static void main(String[] args) throws IOException { 
    // Build a new authorized API client service. 
    Drive service = getDriveService(); 

    // Print the names and IDs for up to 10 files. 
    FileList result = service.files().list() 
     .setMaxResults(10) 
     .execute(); 
    List<File> files = result.getItems(); 
    if (files == null || files.size() == 0) { 
     System.out.println("No files found."); 
    } else { 
     System.out.println("Files:"); 
     for (File file : files) { 
      System.out.printf("%s (%s)\n", file.getTitle(), file.getId()); 
     } 
    } 
} 
+0

К сожалению, вы смешиваете [REST] (https://developers.google.com/drive/web/about-sdk) Api с [GDAA] (https://developers.google.com/drive/android/) вступление). Не очень хорошая идея. Он полностью ответил [здесь уже] (http://stackoverflow.com/questions/22874657/unpredictable-result-of-driveid-getresourceid-in-google-drive-android-api/31553269#31553269) – seanpj

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