我想将google drive与我的应用程序集成我已经在google开发者控制台中注册了我的应用程序。我从https://github.com/googledrive/android-demos中获得了一个示例,通过这个示例,我可以在google驱动器的根文件夹中创建一个文件或文件夹,但问题是我无法在现有文件夹中创建一个文件或文件夹。在这种情况下,我得到了祝酒词“找不到笨蛋”。您有权查看此文件吗?”我弄不到那个司机
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");
}
};
}
我找不到任何合适的文件。
请帮助我哪里出错,或者我是否必须包括任何其他权限
最佳答案
您可以在这里查看一下:在“createTree()”方法中,在文件夹中创建了一个文件夹。
在新的googledriveandroidapi(gdaa)中有3个不同的驱动器id实体
driveid类型的对象-从方法获取并在代码中使用的对象
从encodeToString()获取并传递到decodeFromString()的字符串-用于保存在应用程序中(例如缓存)
从getresourceid()中获取并传递给fetchdriveid()的字符串-在文件的html地址中看到的字符串。
2和3标识符都是字符串,因此可能会混淆。检索驱动器ID(通过decodeFromString())时,标识符2更快。标识符3的检索速度较慢(通过fetchdriveid()),但如果需要将您的id带到其他地方(例如,应用程序脚本),则可以使用标识符3。
另请参见:SO 21800257