如何获取Google云端硬盘文件ID

时间:2014-08-28 16:46:04

标签: google-drive-api google-drive-android-api

我已使用Google Drive Android API为Drive root创建了一个文件。如何使用Google客户端库获取此文件ID以进行共享?

ResultCallback<DriveFileResult>回调中获取DriveFileResult会返回Null:

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

2 个答案:

答案 0 :(得分:3)

回调是在本地创建的文件。当文件同步到服务器时,DriveId将只有一个resourceId。在此之前,getResourceId将返回null。

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

使用CompletionEvents在与服务器同步时收到通知。然后调用getResourceId()应该提供你期望的结果。

答案 1 :(得分:0)

此代码可能有助于识别Google云端硬盘中存在的文件的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());
        }
    }
}