我敢肯定,这是一个容易回答的问题,但我一直无法找出如何使用Google Drive Android API v 12实例化具有Drive资源ID的DriveId和/或DriveFolder

我已阅读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


  要创建文件夹,请调用DriveResourceClient.createFolder(),并传递
  在对父文件夹和包含以下内容的元数据对象的引用中
  标题和其他属性来设置文件夹的值。
  
  以下代码示例演示了如何在以下位置创建新文件夹
  根文件夹:


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/

10-10 23:24