在示例 gdata-objectivec-client 中出现“invalid_client”错误

Posted

技术标签:

【中文标题】在示例 gdata-objectivec-client 中出现“invalid_client”错误【英文标题】:getting "invalid_client" error in sample gdata-objectivec-client 【发布时间】:2012-06-18 02:53:12 【问题描述】:

嘿,我刚刚从http://code.google.com/p/gdata-objectivec-client/source/checkout 下载并构建了 youtube 示例项目,应用程序构建良好,我已经输入了客户端 ID 和密码。然后,当我使用我的 youtube 帐户登录并单击“允许”按钮时,我收到此错误

Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6a03a350 data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>, json=<CFBasicHash 0x6a01b6b0 [0xac0251a0]>type = mutable dict, count = 1,
entries =>
2 : <CFString 0x6a01b720 [0xac0251a0]>contents = "error" = <CFString 0x6a054b90 [0xac0251a0]>contents = "invalid_client" 

或来自 xcode 日志:

2012-06-15 10:49:30.627 YouTubeSample[976:b03] Error Error Domain=com.google.HTTPStatus Code=400 "The operation couldn’t be completed. (com.google.HTTPStatus error 400.)" UserInfo=0x6980d2c0 data=<7b0a2020 22657272 6f722220 3a202269 6e76616c 69645f63 6c69656e 74220a7d>
Error data:

error = "invalid_client";

我已尝试创建并输入新的客户端 ID 以供使用。 看起来秘密没有正确发送,因为如果我故意破坏它甚至将其留空,我会得到相同的结果。

有什么建议吗?

【问题讨论】:

我如何获得客户端 ID..如果你已经成功完成了 GDATA API,那么请分享你的示例代码。 我有时也有这个错误。然后它在几分钟后神奇地工作。好像是连接问题。到目前为止还没有找到解决方案 【参考方案1】:

就我而言,我没有使用正确的项目名称。我正在使用项目别名。使用正确的项目名称后,它解决了我的问题。

【讨论】:

【参考方案2】:

我遇到了同样的问题,问题是 Google API 控制台服务部分中的“Google Maps SDK for ios”被禁用。

【讨论】:

【参考方案3】:

我有点晚了,但它可能会帮助其他人..

在 Google API 控制台中创建一个新的客户端 ID 并将其设置为“其他”而不是“iOS”。它应该可以工作。

【讨论】:

你说得对!最后一个问题 - 为什么会发生?也许 coz ios clientID 包含有关重定向 URI 的信息?怎么用? 我真的不知道它为什么会起作用 =/。但确实如此。此外,我使用了自己处理重定向的 GTMOAuth 库。我自己从未在 API-Console 中放置任何重定向 URL。 谢谢。我花了大约一个小时来解决这个奇怪的错误。 这很奇怪。它也对我有用。有没有人在已经在应用商店发布的应用上试用过。 现在没用了。开启适用于 iOS 的 Google Maps SDK 对我有帮助。【参考方案4】:

客户端 ID 和密码必须由 Google API console 颁发,专门用于已安装的应用程序(不适用于 Web 应用程序。)

【讨论】:

是的,我已经做到了。我们实际上有一个不同的代码示例使用相同的 ID 和密码,所以我认为这不是问题所在。不过,我们希望示例代码能够正常工作,因为我们希望使用示例中实现的可恢复上传功能。但无论我尝试什么,我都无法让这段代码工作。我已经尝试创建新的秘密,它们肯定被设置为“应用程序”而不是网络。看起来秘密只是没有被发送......

以上是关于在示例 gdata-objectivec-client 中出现“invalid_client”错误的主要内容,如果未能解决你的问题,请参考以下文章

在 swagger UI 中生成示例示例(在 Spring boot 项目中)

如何在加速示例包中的示例上启用 CUDA?

在混合表达式中创建示例数据

iOS中的MVVM示例/示例实现[关闭]

在某些 RSpec rails 请求示例中测试 HTTP 状态代码,但在其他示例中测试引发异常

在 Qt Creator 中,遗漏了示例