无法访问Google云端硬盘文件

时间:2015-03-19 15:51:30

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

我正在使用Google Drive制作记事本应用。每当用户在应用程序中创建文件时,它还会在Google Drive中创建一个文件。用户可以输入文本并保存文件,只要互联网可用,未保存的文本就会被提交。我正在使用DriveId管理更新并在应用内创建流程。

如果用户想要使用我的应用程序将文件与替代设备一起使用,那么我也有一个名为DriveId import的选项。点击选项DriveId import,系统会提示用户输入现有的DriveId。使用DriveId我想打开文件,但它给出了一个错误。

然后我看到了SO中给出的答案,其中明确指出DriveId只能在创建该文件的应用和设备中使用。

我也在这里发现了类似我的类似问题SO但我无法解决问题。我使用result.getDriveFolder().getDriveId().getResourceId()

获取了ResourceId

如何使用ResourceID以编程方式读取数据?如上面的回答here所述,我不想改变音轨并进入Drive REST API有没有办法可以使用Google Drive Android API读取数据?我已经完成了所有的开发过程,但是当我尝试从其他设备访问时,它会给出错误。完全被击中。

如果我只能使用REST API读取数据,我们将不胜感激。提前致谢。

1 个答案:

答案 0 :(得分:2)

最终解决了没有REST API的DriveId问题。

在替代设备上获取DriveId。你需要resourceId。您可以使用以下代码: -

String resourseId = "xxxxxxxxxxxxx" 

Drive.DriveApi.fetchDriveId(mGoogleApiClient,resourseId).setResultCallback(idCallBack);

private ResultCallBack<DriveApi.DriveResult> idCallBack = new ResultCallback<DriveApi.DriveIdResult>() {
    @Override
    public void onResult(DriveApi.DriveIdResult driveIdResult) {
        msg.Log("onResult");

    DriveId id = driveIdResult.getDriveId(); //Here you go :)

    }
}