在我的应用中,我正在编写一项活动,以将本地数据库备份到Google云端硬盘。我让用户选择使用Drive的intentPicker
将文件保存到的文件夹,并将结果保存在我的OnActivityResult
中:
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
switch (requestCode) {
// REQUEST_CODE_PICKER
case 2:
intentPicker = null;
if (resultCode == RESULT_OK) {
//Get the folder's drive id
DriveId mFolderDriveId = data.getParcelableExtra(
OpenFileActivityBuilder.EXTRA_RESPONSE_DRIVE_ID);
uploadToDrive(mFolderDriveId);
}
上载文件后,我想向用户显示文件的保存位置。因此,我需要将文件夹的DriveId转换为人类可读的路径,例如/ drive / MyBackups / May。
我已经尝试过
driveId.toString
,但它只会返回一个字符串,其中包含无用的数字和字母,例如DriveId:CASDFAD2Jmasdf==...
。 最佳答案
使用文件夹的Drive API方法时,请注意Drive Rest API-Work with Folders中提供的以下重要键:
文件夹是MIME类型application/vnd.google-apps.folder
且没有扩展名的文件。
您可以使用别名root来指代提供文件ID的任何位置的根文件夹
使用这些给定的键,您可以在查询中添加与要查找的文件有关的父ID,然后可以遵循此SO帖子-What's the right way to find files by “full path” in Google Drive API v2中给出的逻辑。
希望它对您有用。