【问题标题】:Android Drive API startResolutionForResult returns RESULT_CANCELLEDAndroid Drive API startResolutionForResult 返回 RESULT_CANCELLED
【发布时间】:2017-09-21 22:15:40
【问题描述】:

我正在尝试在我的 Android 应用中实现 Google Drive,但我什至无法连接到 Api 客户端。我不知道为什么:

  1. 我已在开发者控制台中为 ~/.android/debug.keystore 配置项目和凭据(值似乎正确)
  2. 我从Drive for Android Documentation 复制粘贴了代码 -> 在方法onConnectionFailed() 中,如果connectionResult.hasResolution(),我将调用connectionResult.startResolutionForResult()
  3. onActivityResult 中匹配requestCode 我收到resultCode == 0 (RESULT_CANCELLED) 即使我选择了我的帐户

你知道为什么吗?我也尝试添加:

<meta-data
    android:name="com.google.android.apps.drive.APP_ID"
    android:value="----"/>

进入文档页面上未提及但在某些 SO 帖子中提及的清单。

感谢您的帮助

编辑:

我也尝试过使用enableAutoManage

mGoogleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this, this)
        .addApi(Drive.API)
        .addScope(Drive.SCOPE_FILE)
        .build();

而不是手动配置连接和 connectionFailed 回调:

        .addConnectionCallbacks(this)
        .addOnConnectionFailedListener(this)

它在 onConnectionFailed 方法中返回错误代码 13。基于documentation,这似乎在以下情况下返回:

OnConnectionFailedListener 传递给 enableAutoManage(FragmentActivity, GoogleApiClient.OnConnectionFailedListener) 当用户选择不 完成提供的解决方案。例如通过取消对话框。

但我没有取消它。

我正在 Nexus 5x - Android N 上测试它

【问题讨论】:

    标签: android drive


    【解决方案1】:

    我在阅读有关钱包 api 的内容时发现了问题所在

    我只需要创建 OAuth 客户端 ID 而不是 API 密钥

    1. 转到Developer Console > Credentials
    2. 点击“创建凭据”> OAuth 客户端 ID > Android
    3. 填写详细信息
    4. 创建
    5. 打开 OAuth 同意屏幕(在凭据页面上)
    6. 填写邮箱和产品名称
    7. 保存

    现在可以了!

    【讨论】:

    • 我有同样的问题,但不明白如何解决它。我已经创建了 ClientID,甚至将 google-services.json 文件添加到应用程序,但这似乎还不够。我应该在清单文件中添加任何内容吗?或者我需要在我的移动应用中做些什么?
    【解决方案2】:

    以防万一

    如果您错过了客户端 ID 创建过程,@VizGhar 解决方案是正确的。但是我得到了 resultCode=0 并且我的 OAuth 客户端 ID 一切正常。最后我解决了这个问题,所以我根据文档创建了 SHA1,但我在调试模式(构建变体)下运行我的应用程序并且结果代码总是=0。刚刚切换到发布模式,问题就解决了,现在 resultCode=-1 符合预期。

    【讨论】:

    • app/build.gradle 有问题吗?您的调试和发布变体是否具有相同的应用程序 ID?
    • 听起来您可能错过了在 Google 控制台中注册调试密钥库的 SHA-1?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-13
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-05
    相关资源
    最近更新 更多