在示例gdata-objectivec-client中收到“invalid_client”错误

时间:2012-06-15 02:13:56

标签: objective-c youtube google-api-client

嘿,我刚刚从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以便使用。 看起来秘密没有被正确发送,因为如果我刻意腐败它甚至留空,我会得到相同的结果。

有什么建议吗?

4 个答案:

答案 0 :(得分:32)

我有点晚了但可能会帮助别人......

在Google API-Console中创建新的客户端ID并将其设置为“其他”而不是“iOS”。它应该工作。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

客户端ID和密钥必须由Google API console颁发,特别是对于已安装的应用程序(不适用于Web应用程序)。

答案 3 :(得分:0)

在我的情况下,我没有使用正确的项目名称。我正在使用项目别名。使用正确的项目名称后,它解决了我的问题。