Drive API清单以及与Drive App的集成

时间:2012-07-06 13:39:23

标签: android google-drive-api

我有一个Android应用,可以使用mime类型application/vnd.test.type

在Google云端硬盘中创建自己的文件

我想让我的应用处理由Google Drive应用按照here所述的方式处理此文件类型的请求。

我处理文件打开的活动在我的清单文件中如下:

    <activity android:name="DriveHandlerActivity" 
              android:label="@string/app_name" 
              android:icon="@drawable/icon" 
              android:exported="true" >
        <meta-data android:name="com.google.android.apps.drive.APP_ID" 
                   android:value="id=MY_ID"/> 
        <intent-filter >
            <action android:name="com.google.android.apps.drive.DRIVE_OPEN"/>
            <data android:mimeType="application/vnd.test.type"/>
        </intent-filter>
    </activity> 

当我尝试在Google云端硬盘应用中打开文件时,我会按预期显示“打开方式...”对话框,我的应用列表是唯一能够处理此文件类型的条目。不幸的是,在确认了这个动作之后,我得到了一个对话框。

Error Dialog

我唯一的选择是按“取消”按钮,将我返回到Google云端硬盘应用。

我并不完全相信我的元数据是正确的,因为ID会根据您的外观使用不同的名称来引用。一些documentation calls it the App ID,有些人称之为项目ID (See here at 26:44)。我尝试使用我的Google Apis控制台中列出的“项目ID”以及同一页面上的项目编号(来自URL)。无论我选择哪个值作为ID,我都会得到相同的错误。

据我所知,下一步应该是在我的应用程序中处理意图,但由于所描述的错误,意图永远不会到来。谁能告诉我我做错了什么?

1 个答案:

答案 0 :(得分:3)

目前存在一个问题,要求您的应用程序列在Chrome Webstore中(即使只限于受信任的测试人员),以便Open With流程正常运行。

但是,即使问题已解决,在Google Play Services API发布之前,您的应用仍无法访问该文件。 唯一的解决方法是请求完整的驱动器范围https://www.googleapis.com/auth/drive的授权,这不是建议但对调试很有用。

我将在Chrome Webstore限制解决后更新此答案。