Google Drive android API无法检索文件内容

时间:2015-05-15 21:28:20

标签: android google-api google-drive-api google-drive-android-api

大家好我计划在我的android端从我的谷歌驱动器中检索一些文档文件,但总是提到:

找不到驱动器项目,或者您无权访问它。

这是我的代码,问题部分是" EXISTING_FILE_ID"

private static final String EXISTING_FILE_ID = "0BxyOMAFcmxoYTkt6cHZwcUtaNlU";
private static final int REQUEST_CODE = 102;
private GoogleApiClient googleApiClient;
private static final String TAG = "retrieve_contents";

首先:我试图在谷歌驱动器上获取我的共享文档链接并选择关键值示例,0BxyOMAFcmxoYTkt6cHZwcUtaNlU https://drive.google.com/file/d/0BxyOMAFcmxoYTkt6cHZwcUtaNlU/view?usp=sharing

第二:我使用我的android端应用程序创建文件,并检索DriveId:CAESABiiHyCcwq2SpVMoAA ==但仍无法检索文件内容 这个问题困惑了我几天有人帮助我吗?

2 个答案:

答案 0 :(得分:1)

由于您提及' EXISTING_FILE_ID',我假设您指的是demo code here

所以,要回答这个问题,首先是 '上图:错误告诉您,您尝试访问的文件不是由Android应用创建的。 GDAA supports only SCOPE_FILE scope,例如只有Android应用创建的文件才能找到,打开,修改,......

点'' 第二':您(可能)正确地尝试访问由Android应用创建的文件,但使用的ID不正确。我看到的ID是' DriveId '与' ResourceId '不同你应该使用(see SO 29030110 here)。

最直接的解决方案是通过

DriveId 转换为 ResourceId
 DriveId driveId = DriveId.decodeFromString("DriveId:CAESABii.....");
 String EXISTING_FILE_ID = driveId.getResourceId();

试试这个ID。

祝你好运

答案 1 :(得分:0)

@ user2953788 你解决了这个问题吗?我有相同的示例工作,我可以看到2个潜在的问题可能会给你你提到的错误(你没有粘贴实际的错误日志)

1)您尚未授权将应用访问Google驱动器(因为您遵循了教程,因此不太可能) 2)变量" public static final String EXISTING_FILE_ID"示例代码中的BaseDemoActivity.java未使用您的Google驱动器中的最新EXISTING_FILE_ID进行更新。每次删除或添加文件时,即使文件名未更改,ID也会更改 。这更可能是导致错误的原因。我假设您知道如何在Google教程中找到Google驱动器中任何文件的EXISTING_FILE_ID。

一切顺利!