0

我在 App Store 上有一个 iOS 应用程序,它连接到 Google Drive。在过去一周左右的时间里,我注意到我的live app中有两个新问题。

应用程序突然停止登录。我会收到 401 - invalid_client。我发现了很多关于这个问题的问题/答案,但它们都是针对那些无法让它工作的人。我的工作了大约两年,然后几天前停止工作。在尝试了很多东西之后,我发现我正在使用<id>@developer.gserviceaccount.com我的客户端 ID,当我将它更改为它时,<id>.apps.googleusercontent.com它又可以工作了。我不知道为什么此更改修复了它,即使知道这修复了它,我也找不到这是否是正确/适当的解决方案。

我解释了我的第二个问题,这里非常具体,但请跳到下一段来切入正题。第二个问题是由于 Google 改变了他们的 API 调用响应方式,这就是为什么当我们将最新版本的应用程序提交到 App Store 时这不是问题的原因。Google 已经改变了 GTLDriveFile 类的 explicitTrashed 属性的方式。根据他们的规范,这个属性应该是一个包含 Yes 的 NSNumber,或者是 null。他们最近对其进行了更改,使其始终将 NSNumber 设置为 Yes 或 No。这破坏了我们的功能。

无论如何,这是谷歌最近做出的两项改变,目前我的客户处于搁置状态,因为我必须解决这个问题并将其推出。我的问题是,是否有地方跟上 Google 最近所做的这些变化。另外,如果有人知道或可以指出为什么会发生第一个问题,我将不胜感激。

4

1 回答 1

1

对于第一个问题,使用 [id].apps.googleusercontext.com 解决它的原因是它从应用程序向服务器请求授权令牌,而不是使用模拟的服务器到服务器事务([id ]@developer.gserviceaccount.com)。这是请求令牌的 android 和 IOS 应用程序的正确解决方案。

至于你的第二个问题,了解最新变化的最佳方式是通过他们的官方博客:http: //googleappsdeveloper.blogspot.com/

另一个资源是 G+ Google Drive 开发者社区: https: //plus.google.com/communities/107264319205603895037

于 2015-09-01T23:08:08.053 回答