我想将 Google Drive 与我的应用程序集成 我已在 Google Developers Console 中注册了我的应用程序。我得到了一个样本https://github.com/googledrive/android-demos通过这个,我可以在 Google 驱动器的根文件夹中创建文件、文件夹,但问题是我无法在现有文件夹中创建文件或文件夹。在这种情况下,我收到一条消息“找不到 DriveId。您有权查看此文件吗?”即我无法获取驱动器ID
public class CreateFolderInFolderActivity extends BaseDemoActivity {
@Override
public void onConnected(Bundle connectionHint) {
super.onConnected(connectionHint);
Drive.DriveApi.fetchDriveId(getGoogleApiClient(), EXISTING_FOLDER_ID)
.setResultCallback(idCallback);
}
final ResultCallback<DriveIdResult> idCallback = new ResultCallback<DriveIdResult>() {
@Override
public void onResult(DriveIdResult result) {
if (!result.getStatus().isSuccess()) {
showMessage(result.getStatus().toString());
showMessage("Cannot find DriveId. Are you authorized to view this file?");
return;
}
DriveFolder folder = Drive.DriveApi
.getFolder(getGoogleApiClient(), result.getDriveId());
MetadataChangeSet changeSet = new MetadataChangeSet.Builder()
.setTitle("MyNewFolder").build();
folder.createFolder(getGoogleApiClient(), changeSet)
.setResultCallback(createFolderCallback);
}
};
final ResultCallback<DriveFolderResult> createFolderCallback = new
ResultCallback<DriveFolderResult>() {
@Override
public void onResult(DriveFolderResult result) {
if (!result.getStatus().isSuccess()) {
showMessage("Problem while trying to create a folder");
return;
}
showMessage("Folder successfully created");
}
};
}
我找不到任何合适的文档。
请帮助我哪里出了问题或者我是否必须包含任何其他权限
您可以在这里查看:在 '创建树()' 方法,在文件夹内创建文件夹。
新的 Google Drive Android API (GDAA) 中有 3 个不同的驱动器 ID 实体
- DriveID 类型的对象 - 从方法中获取并在代码中使用的对象
- 你从中得到的字符串编码为字符串()并传递给从字符串解码()- 用于在应用程序内保存(例如缓存)
- 你从中得到的字符串获取资源Id()并传递给获取驱动器 ID()- 您在文件的 html 地址中看到的那个。
2和3标识符都是字符串,因此可能会混淆。检索驱动器 ID 时,标识符 2 速度更快(通过decodeFromString())。标识符 3 的检索速度较慢(通过 fetchDriveId()),但如果您需要在其他地方(例如 Apps 脚本)获取 ID,则很有用。
另请参阅:SO 21800257
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)