Google API更改导致我的应用出现问题

时间:2015-08-28 16:27:34

标签: ios google-drive-api google-oauth2 gtm-oauth2

我在App Store上有一个iOS应用程序,它连接到Google云端硬盘。在过去一周左右的时间里,我在实时应用中发现了两个新问题。

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

我解释了我的第二个问题,这是非常具体的问题,但请跳到下一段来说明问题。第二个问题是Google改变API调用响应方式的结果,这就是为什么当我们将最新版本的App提交到App Store时这不是问题。谷歌改变了他们的GTLDriveFile类的explicitTrashed属性的方式。每their spec,此属性应为包含Yes的NSNumber或null。他们最近更改了它,因此它始终是NSNumber设置为是或否。这就是打破我们的功能。

无论如何,这些是谷歌最近在他们最终做出的两项改变,目前让我的客户暂停,因为我必须解决这个问题并将其推出。我的问题是,是否有一个地方可以跟上谷歌最近所做的这些变化。此外,如果有人知道或可以指出为什么第一个问题正在发生,我将非常感激。

1 个答案:

答案 0 :(得分:1)

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

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

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