MMa*_*ian 8 android google-drive-api google-drive-android-api
我收到一个无效的父文件夹错误,我已经看到使用资源ID而不是驱动器ID的解决方案,但这是一个不同的场景.
我正在尝试访问AppFolder,这只是使用GoogleApiClient,如下所示:
this.appFolder = Drive.DriveApi.getAppFolder(mGoogleApiClient);
Run Code Online (Sandbox Code Playgroud)
当我稍后尝试在其中创建文件时,我得到上述错误.
DriveFolder.DriveFileResult fileResult = appFolder.createFile(mGoogleApiClient, changeSet, driveContentsResult.getDriveContents()).await();
Run Code Online (Sandbox Code Playgroud)
然后fileResult.getStatus()给了我错误.
这曾经对我有用.不同的是,我在Google云端硬盘上手动清空了应用的数据(删除隐藏的应用数据).但我没有断开应用程序 - 所以我认为appFolder将继续以相同的方式工作......
到目前为止,唯一的解决方法是卸载应用程序,但这样我就丢失了数据.
这是可重复的.请帮忙.
虽然这不能解决您的问题,但您的问题引起了我的兴趣,因此我使用此演示进行了一些测试(遵循此代码中的“appfolder” )。这是我学到的:
首先,我可以使用以下顺序重现您的问题
1/ getAppFolder(mGAC)
2/ create folder DEMOROOT in app folder
3/ create folder 2015-10 in DEMOROOT
4/ create file with content in 151022-075754 in 2015-10
5/ list full tree ... result \DEMOROOT\2015-10\151022-075754
6/ read content of 151022-075754 ... OK
Run Code Online (Sandbox Code Playgroud)
到目前为止,一切都很好。无需断开连接,我就可以前往
drive.google.com > Settings > Manage Apps > Options > Delete hidden app data
Run Code Online (Sandbox Code Playgroud)
现在,应用程序文件夹中应该没有对象,我运行:
1/ getAppFolder(mGAC)
2/ list full tree ... result \DEMOROOT\2015-10\151022-075754
3/ read content of 151022-075754 ... FAIL
Run Code Online (Sandbox Code Playgroud)
如您所见,在我的情况下,getAppFolder(mGAC)返回可以使用的有效 DriveFolder (DriveId)。甚至 DriveId 字符串看起来也一样。文件夹/文件列表返回有效对象。这是不应该的,但我知道我必须依靠延迟,因此列表结果可能会在稍后更改以反映删除。尝试读取文件内容失败。
几分钟后(GDAA 可能同步),相同的列表尝试失败,结果仍然可以理解,但在应用程序文件夹中创建任何对象(文件夹/文件)的另一次尝试失败,并出现“无效的父文件夹”错误,正如您所指出的。断开/重新连接没有帮助,因此该应用程序被干掉了。
这指出了一个应该解决的严重错误。与SO 30172915中的情况相同,未受过教育的用户的操作可能会造成无法挽回的损害 - Android 应用程序数据丢失且没有已知的补救措施。
| 归档时间: |
|
| 查看次数: |
1481 次 |
| 最近记录: |