【问题标题】:Invalid Client with Oauth trying to access BigQuery使用 Oauth 的无效客户端尝试访问 BigQuery
【发布时间】:2013-02-18 11:44:18
【问题描述】:

我创建了一个小型 Bigquery 项目,现在我需要使用 OAuth 2 流通过简单的客户端 javascript 访问它。

现在我只是在 Aptana 中从我的电脑上运行测试,所以当我请求我的客户端 ID 时,我在“javascript origins”字段中指定了 URL http://localhost:8020。 当被问及我注册的是什么类型的应用时,我选择了“网络应用”。

我复制粘贴了此处显示的示例:

https://developers.google.com/bigquery/docs/authorization#client-side-javascript

并用我自己的项目编号和客户 ID 替换,如所述。 但是,gapi.auth() 失败,我收到一个弹出窗口,提示存在错误,即“无效客户端”。其他参数是:

scope=https://www.googleapis.com/auth/bigquery
response_type=token
redirect_uri=postmessage
proxy=oauth2relay1213926397
origin=http://127.0.0.1:8020
state=1100863975|0.29982968120843295
client_id=xxxxxxxxxxxx.apps.googleusercontent.com
authuser=0

我三重检查了客户 ID 和项目编号是否正确,并且它们是正确的(至少,它们与我的控制台中的相同)。不过,我的客户 ID 似乎不存在。我究竟做错了什么?我错过了什么吗?

提前致谢。

【问题讨论】:

    标签: javascript google-bigquery google-oauth


    【解决方案1】:

    尝试将您的 JavaScript 源更改为“http://localhost

    【讨论】:

    • 完成。尽管我可以在控制台中看到新值http://localhost,但我仍然会在响应中获得带有端口号的旧值。我猜这个客户端 ID 的更改没有被存储,我稍后再试一次。感谢您的帮助,如果一两个小时后还是不行,我会回来的。
    • 我来了,我今天早上试过了。我再次收到 Invalid client 错误,我没有得到 127.0.0.1 作为来源。我想我会写信给 Google 的某个人,要求检查具体项目。
    • 只是对您的客户端 ID 进行三次检查,尝试转到 code.google.com/apis/console,切换到“API 访问”面板,然后找到“Web 应用程序的客户端 ID”部分。 (如果没有此部分,请单击“创建另一个客户端 ID”。)然后将您在该面板中看到的确切客户端 ID(例如“123456789.apps.googleusercontent.com”)复制到您的代码中。此外,请确保列出错误代码中提到的确切来源(例如,“127.0.0.1:8082")作为有效的 JavaScript 来源。
    • 嗨 jcondit,令我困惑的是,即使我按照 Michael 的建议将 API 控制台中的值更新为 http//:localhost,我仍然会得到原点的旧值。您看到的错误线索中的来源实际上只是我之前的来源地址。那没有用,所以我来这里寻求帮助。但是,我按照您的建议更改了原点以再次检查。它没有用。至于三重检查,我已经直接从 API 访问控制台复制粘贴了项目和客户端 ID,因此问题似乎出在源定义中 :(
    • PS:当我写“项目ID”时,我的意思是项目编号;)
    猜你喜欢
    • 2019-03-20
    • 2020-12-04
    • 1970-01-01
    • 2021-02-18
    • 2015-05-10
    • 1970-01-01
    • 2016-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多