我敢肯定,这是一个容易回答的问题,但我一直无法找出如何使用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/