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

7 android google-drive-api

我有一个Android应用,可以使用mime类型在Google云端硬盘中创建自己的文件 application/vnd.test.type

我想描述当由谷歌云端硬盘应用打开,让我的应用程序处理的请求此文件类型在这里.

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

    <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> 
Run Code Online (Sandbox Code Playgroud)

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

错误对话框

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

我并不完全相信我的元数据是正确的,因为ID会根据您的外观使用不同的名称来引用.有些文档将其称为App ID,有些称之为Project ID (请参阅此处26:44).我尝试使用我的Google Apis控制台中列出的"项目ID"以及同一页面上的项目编号(来自URL).无论我选择哪个值作为ID,我都会得到相同的错误.

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

Ala*_*ain 3

目前存在一个问题,要求您的应用程序必须在Chrome 网上应用店中列出(甚至仅向受信任的测试人员列出)才能使Open With流程正常运行。

但是,即使问题得到解决,您的应用程序也将无法访问该文件,直到Google Play Services API 发布为止。唯一的解决方法是请求整个 Drive 范围的授权,https://www.googleapis.com/auth/drive不建议这样做,但对于调试很有用。

当 Chrome 网上应用店的限制得到解决后,我会更新这个答案。