我已經使用Google Drive Android API創建了一個文件來驅動root。如何獲取此文件ID以使用Google客戶端庫共享?如何獲取Google Drive文件ID
獲得DriveFileResult在ResultCallback<DriveFileResult>
回調返回Null:
String fileId = result.getDriveFile().getDriveId().getResourceId();
我已經使用Google Drive Android API創建了一個文件來驅動root。如何獲取此文件ID以使用Google客戶端庫共享?如何獲取Google Drive文件ID
獲得DriveFileResult在ResultCallback<DriveFileResult>
回調返回Null:
String fileId = result.getDriveFile().getDriveId().getResourceId();
回調是在本地創建的文件。當文件同步到服務器時,DriveId將只有一個resourceId。在此之前,getResourceId將返回null。
https://developer.android.com/reference/com/google/android/gms/drive/DriveId.html#getResourceId()
使用CompletionEvents到同步時發生了服務器通知。然後調用getResourceId()應該提供你所期望的。
此代碼可能有助於識別存在於谷歌驅動器中的文件的ID。
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());
}
}
}
不幸的是,您正在將[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 2015-08-28 13:29:50
謝謝,但你能建議如何做這個同步? – 2014-08-29 11:02:11
聽着,我的文件是在Drive中創建的,我看到了它。這是否意味着文件已經同步? – 2014-08-29 11:37:04
你不需要做任何事情來同步,它會自動發生。您可以偵聽更改事件以瞭解資源更改的時間,包括添加resourceId:https://developers.google.com/drive/android/events – 2014-08-29 15:14:32