94

我尝试为 youtube 视频上传制作网页,因此我尝试从 google api 控制台获取客户端 ID,并在 api 控制台中显示如下内容:

Client ID: 533832195920.apps.googleusercontent.com
Redirect URIs: http://bobyouku.ap01.aws.af.cm/testyoutube.php
https://developers.google.com/oauthplayground

但是,当我尝试使用以下 URL 测试我的帐户时:

https://accounts.google.com/o/oauth2/auth?client_id=533832195920.apps.googleusercontent.com&redirect_uri=http%3A%2F%2Fbobyouku.ap01.aws.af.cm%2Ftestyoutube.php&scope=https%3A% 2F%2Fwww.googleapis.com%2Fauth%2Fyoutube&response_type=code&access_type=offline

它给出了 invalid_client 的结果。即使我在 oauth2 操场上尝试它,也会发生同样的失败

所以有人知道发生了什么吗?

4

25 回答 25

114

设置/更改您的产品名称,在创建与项目名称相同的产品名称之前,我遇到了这个问题。

可以在 Google Developers Console 的同意屏幕部分为您的项目设置产品名称。在左侧导航中的 APIs & auth 下查看并选择同意屏幕。您还需要在产品名称上方的框中设置您的电子邮件地址。

于 2013-10-23T08:03:40.533 回答
73

从 Google Web UI 复制值后,我有一个空白空间:

  • client_id
  • secret

并且在开始结束时都是如此。

即使单击“复制”按钮也会发生这种情况。

于 2016-01-19T21:39:00.443 回答
41

client_id从和修剪前导和尾随空格client_secret。Google 的复制按钮不会为您执行此操作。

在此处输入图像描述

为 OAuth 同意屏幕设置电子邮件地址和产品名称字段。

在此处输入图像描述

于 2016-07-12T01:02:40.737 回答
16

在 Google 开发者控制台的同意屏幕中设置 EMAIL ADDRESS 和 PRODUCT NAME,解决了错误“错误:invalid_client。未找到 OAuth 客户端。” 为了我。

于 2014-09-10T09:57:04.037 回答
9

我的 ID 中有两次 .apps.googleusercontent.com 。

这是一个复制和粘贴问题“Your ID HERE”.apps.googleusercontent.com

于 2015-08-28T12:00:28.160 回答
7

在这个线程中我找到了我的答案。

  1. 我去了谷歌控制台,
  2. 生成一个新项目,进行刷新,因为在我的情况下,创建页面后没有重新加载
  3. 选择新项目
  4. 创建客户 ID
  5. 用它来满足你的需要

谢谢大家 :D

于 2014-05-27T18:33:43.777 回答
7

invalid_client 也可以简单地表示当您创建 Oauth2 对象时您的客户端 ID 和客户端密码错误。

于 2017-06-06T21:37:19.433 回答
6

在我的情况下,这被证明是别的东西,即我的代码使用了一个没有正确设置的环境变量(并且愚蠢地没有被我的代码检查)。设置它,重新编译资产,然后重新启动应用程序就可以了。

于 2014-10-09T19:31:16.257 回答
6

如果您遵循文档,请从此页面 https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id

你会看到的

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">

但这是错误的。它应该是

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID">

问题是无论如何都会添加“.apps.googleusercontent.com”。如果你按照文档说的那样做,你会得到两次'.apps.googleusercontent.com'

于 2018-09-27T19:57:01.320 回答
4

我通过从我的 clientID 和 clientSecret 值中删除不必要的引号来解决这个问题。

于 2017-12-01T10:01:50.793 回答
2

该错误是否还报告它缺少应用程序名称?在项目设置对话框中创建项目名称(例如“项目 X”)之前,我遇到了这个问题。

于 2013-07-16T23:02:57.817 回答
2

可能旧凭据无效

看下面的答案

堆栈溢出答案

或短名称可能有效

请参阅下面的答案 stackoverflow答案

或产品名称与已回答的项目名称相同

有时可能会在

检查此行两次,以便将您重定向到正确的 url

于 2017-04-29T06:01:21.353 回答
1

我用 trim 解决了我的问题:

'google' => [
    'client_id' =>trim('client_id),
    'client_secret' => trim('client_secret'),
    'redirect' => 'http://localhost:8000/login/google/callback',
],
于 2017-12-27T11:00:25.547 回答
1

以下都不是我的问题 - 我通过打开隐身窗口解决了这个问题。某些东西显然被缓存在某个地方,没有任何更改的身份验证客户端设置有帮助,并且配置值中从来没有任何尾随或前导空格。

于 2018-02-21T12:05:15.980 回答
0

在 Google API 控制台上检查您的项目名称。您选择您创建的另一个项目。我是同样的错误。我的错误是选择了不同的项目。

于 2013-06-19T03:33:07.387 回答
0

如果您在 Meteor JS 中,则必须使用clientId而不是appId

由于 facebook 使用 appId 和 google clientId。

ServiceConfiguration.configurations.upsert({
    service: "google"
}, {
    $set: {
        clientId: process.env.OAUTH_GOOGLE_APP_ID,
        loginStyle: "popup",
        secret: process.env.OAUTH_GOOGLE_SECRET
    }
});

我花了几个小时才意识到这一点。

于 2020-05-25T23:51:07.190 回答
0

At Credentials 接受来自这些 HTTP 引用者(网站)的请求(可选)使用星号作为通配符。如果您将此留空,则将接受来自任何推荐人的请求。请务必在生产中使用此密钥之前添加引荐来源网址。添加. (星点星)。对我来说很好用

于 2015-12-22T05:48:58.763 回答
0

我希望我以前看过这篇文章,因为有很多事情我必须反复试验才能找到。这可能会出现很多问题。这是我遇到的另一个问题:

当您指定授权的 Javascript 来源或授权的重定向 URI 时,请确保包含您的域,无论是否包含 www。所以https://google.comhttps://www.google.com

我还上传了一个应用程序徽标。因此,同意屏幕需要审查……这需要很长时间。不要上传应用程序徽标,或者非常耐心。

于 2020-05-28T03:41:08.697 回答
0

这也可能是因为没有使用httpsurl。

换句话说,这只适用于https. 它http仅适用于localhost

于 2021-10-08T10:20:41.500 回答
0

为获得最佳结果,请确保您拥有以下完整详细信息:

{"client_id":"282324738-4labcgdsd4nlh34885s2d34tmi.apps.googleusercontent.com","project_id":"abcd23ss-212808","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://www.googleapis.com/oauth2/v3/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"23452-dfgdfgcdfgfd","redirect_uris":["http://localhost:6900/auth/google/callback"],"javascript_origins":["http://localhost:6900"]}

此数据始终可从https://console.developers.google.com/apis/credentials/oauthclient/以 JSON 格式下载

于 2018-08-09T08:40:46.253 回答
0

删除客户端 ID 并创建新的几次对我有用。

于 2018-03-26T18:39:13.840 回答
0

我不小心在 URL 的客户端密码部分有一个值,但 Google 凭据不需要 Android OAuth 2 客户端 ID 的客户端密码。只需将 URL 中的值留空就可以了。

于 2016-03-05T13:02:22.883 回答
0

另一件事要检查:

当您使用 NuGet 将 GoogleAPI 安装到 .Net 应用程序时,它将在您的 *.config 文件中注入一组新的虚拟值。

检查任何原始值是否仍然存在,并删除虚拟条目。

于 2017-12-20T11:42:24.957 回答
0

我的没有用,因为我是从文档中的一个按钮创建的。我再次进入该项目并创建了另一个 OAuthClientID。有效。是的,也要注意左右两侧的多余空格。

于 2018-06-14T06:07:19.830 回答
0

对我有用的步骤:

  1. 删除不适合您的凭据
  2. 使用一些 NAME 创建新凭据
  3. 在您的 OAuth 同意屏幕上填写相同的 NAME
  4. 在 OAuth 同意屏幕上填写电子邮件地址

名称应该完全相同。

于 2017-05-12T08:41:50.590 回答