android - 如何使用 Google Drive Android API 实例化 DriveId/DriveFolder

标签 android google-drive-android-api

我确信这是一个容易回答的问题,但我一直无法找到如何使用驱动器资源实例化 DriveId 和/或 DriveFolder使用 Google Drive Android API v 12 的 ID。

我已阅读 the Google Drive Android API documentation并设法从根文件夹中的 Android 应用程序在我的 Google Drive 上创建了一个文件,但现在我想在特定文件夹中创建该文件,但我不确定如何去做。

我见过的很多代码(例如 this Stackoverflow answer )都使用已弃用的 Google DriveApi 从文件夹的资源 ID 中获取 DriveId

我曾尝试使用 DriveId 方法 decodeFromString 但是当我运行以下代码时,我收到一条错误消息,指出 DriveId 无效:

String googleDriveFolderId = "16TwNeDF9_inOK4X5AaGnVMNycNVxxMtd";
DriveFolder projectFolder = DriveId.decodeFromString(googleDriveFolderId).asDriveFolder();

我做错了什么?

最佳答案

Create a folder

To create a folder, call DriveResourceClient.createFolder(), passing in a reference to the parent folder and the metadata object containing the title and other attributes to set the values for the folder.

The following code sample demonstrates how to create a new folder in the root folder:

private void createFolder() {
    getDriveResourceClient()
            .getRootFolder()
            .continueWithTask(task -> {
                DriveFolder parentFolder = task.getResult();
                MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
                                                      .setTitle("New folder")
                                                      .setMimeType(DriveFolder.MIME_TYPE)
                                                      .setStarred(true)
                                                      .build();
                return getDriveResourceClient().createFolder(parentFolder, changeSet);
            })
            .addOnSuccessListener(this,
                    driveFolder -> {
                        showMessage(getString(R.string.file_created,
                                driveFolder.getDriveId().encodeToString()));
                        finish();
                    })
            .addOnFailureListener(this, e -> {
                Log.e(TAG, "Unable to create file", e);
                showMessage(getString(R.string.file_create_error));
                finish();
            });
}

成功后,尝试调用 getDriveId() .

关于android - 如何使用 Google Drive Android API 实例化 DriveId/DriveFolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50935238/

相关文章:

java - 找不到 DriveId。您有权查看此文件吗? Android 谷歌驱动集成

Google Drive Api 的 Android 访问 token 下载文件

Android:按下后退按钮时退出应用程序

android - 高密度手机默认到哪个drawable文件夹?

android - 授权 Google Drive Android API

Android Google DriveApi 在不同设备上为同一标题返回不同的 DriveID

google-drive-api - 访问 Google Drive 应用程序数据文件夹跨平台应用程序

java - 在 ListView android中定位字符串

android - 工作动画帧代码?

Android 你好,图库教程 -- "R.styleable cannot be resolved"