401. 这是一个错误。错误:invalid_client。找不到OAuth客户端。

33

你使用OAuth进行了授权吗? - RiggsFolly
是的,我已经下载了演示项目并从Google控制台获取了客户端ID和API密钥,但仍然无法运行。 - user3653474
在那张图片中打开请求细节。 - Zig Mandel
添加了请求细节的图片。 - user3653474
你在项目中启用了Drive SDK吗? - SGC
13个回答

23

您的client_id不正确,请重新检查


3
client_id 似乎包含了回车符 - Hans Z.

6
在我的情况下,我错误地在我的.env文件的值中添加了一个,,因此最好检查一下该文件。
# check the comma at the end
AUTH_CLIENT_SECRET=randomauthsecret,
AUTH_CLIENT_ID=randomclientid, 

这会导致错误的客户端id值。因此只需删除代码中的,。另外一件事,也不要将它们括在引号中。
AUTH_CLIENT_SECRET=randomauthsecret
AUTH_CLIENT_ID=randomclientid

1
是的,在我这种情况下,我把应该填写api_key的地方填成了client_id,反之亦然,结果浪费了我20分钟的时间。感谢您为我节省了一些时间。 - Savitoj Cheema

6

enter image description here

在下面的图片中,我在API密钥部分使用了受限模式。这帮助我去除了显示。因此最终呈现为:
No API keys to display

尝试使用您为项目创建的客户端ID验证:

https://console.developers.google.com/google/maps-apis/credentials?folder=&organizationId=&project=saml-281612

项目名称,就像在我的情况下一样,是 saml,应该与项目应用程序匹配为 saml 以减轻 mismatch_uri 错误。

这帮助我消除了所有这些错误,如:

1. Error 400 : mismatch_uri
2. Error 401 : invalid client_id  

4

如果您的系统上已经登录了Google帐号,那么可能会出现此错误。请注销所有帐户,然后再运行代码。


2
问题在于vscode如何格式化代码,它会在client_id中留下空格,因此我使用atom将client_id写入.env文件,并通过hyper运行app.js。这样就解决了问题。

2
在我删除了我设置的环境变量中的引号之后,它对我起作用了。

1

我也遇到了同样的问题,浪费了半个小时的时间,解决方法是创建一个新凭据,并将代码中的旧凭据替换为新凭据。

然后它就像预期的那样工作了。


简洁明了是很好的,但只有在简洁能够得出清晰明了的答案时才是好的。这个答案缺乏任何解释和/或示例。 - JΛYDΞV

1

可能是在 .env 文件中的 "Client ID" 和 "Client secret" 值不正确,或者文件中使用了逗号错误。


1
目前你的回答不够清晰。请编辑并添加更多细节,以帮助其他人理解它如何回答所提出的问题。你可以在帮助中心找到有关如何撰写好答案的更多信息。 - Community

0
我有同样的问题,但是我用以下方法解决了它: 如果你在克隆时忘记添加 .env 文件或 .env.local 文件,你需要手动添加以下内容: GOOGLE_CLIENT_ID ="你的客户端ID" GOOGLE_CLIENT_SECRET="你的客户端密钥"

0
我也遇到了这个问题,我的情况是把我的客户端ID和密钥放在了一个字符串里。当我移除了这个字符串后,它就完美地工作了。

1
你的回答可以通过提供更多的支持性信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的回答是否正确。你可以在帮助中心找到关于如何撰写好的回答的更多信息。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接