来自 Youtube API 的 OAUTH 凭据无效
Posted
技术标签:
【中文标题】来自 Youtube API 的 OAUTH 凭据无效【英文标题】:Invalid Credentials for OAUTH from Youtube API 【发布时间】:2014-05-05 22:14:18 【问题描述】:尝试在 OAuth 2.0 Playground 中使用 Youtube API 时出现 401 Invalid Credentials 错误。
回复是:
"error":
"code": 401,
"message": "Invalid Credentials",
"errors": [
"locationType": "header",
"domain": "global",
"message": "Invalid Credentials",
"reason": "authError",
"location": "Authorization"
]
步骤可以复制here。
-
选择管理 Youtube 帐户 API
授权
获取访问令牌
尝试调用任何 Youtube API(您可能还需要插入自己的 API 密钥)
访问令牌是有效的(非 Youtube API 调用工作正常),我已经尝试了许多不同的帐户,这些帐户设置了 Youtube 帐户和频道(所以回复 here 不是正在发生的事情)。
API 在这里的Try it Now 部分运行良好,所以这很奇怪。
也许有人可以用他们的帐户尝试这些步骤并验证结果是否相同?
【问题讨论】:
我收到了一个403 "Access Not Configured. Please use Google Developers Console to activate the API for your project."
,这似乎没有意义,因为该项目归 Google 所有
由于某种原因,它也需要一个 API 密钥 - 即使访问令牌应该足够了。如果您有 API 密钥,请将其作为参数添加,然后查看结果。
【参考方案1】:
您必须在 OAuth Playground 的设置中选择“使用您自己的 OAuth 凭据”选项(链接在右上角)。
您还需要将以下 URL 添加到 Developers Console 中您项目的重定向 URI 列表中:
https://developers.google.com/oauthplayground
如果这样做,则无需传递 API 密钥。
【讨论】:
最终它是针对一个 android 应用程序而不是一个网络应用程序 - 我正在使用 Playground 来尝试展示我遇到的问题,如果它有我不熟悉的额外要求,我深表歉意。只是进行 GET 调用并传递访问令牌应该是所需要的,不是吗? code.google.com/p/google-api-java-client/wiki/OAuth2 developers.google.com/accounts/docs/OAuth2 这没有帮助。我仍然不确定为什么我能够在 Playground 中使用 OAuth 访问令牌来调用例如Google Plus API,但不是 Youtube 的。我错过了什么? 仅供参考,我正在使用文档here。该文档中的代码只是一个 GET 调用,其中访问令牌作为 URL 中的参数 -> 这与 Playground 所做的有什么不同?而且我们知道这不是访问令牌的问题(因为它适用于其他 API 并且范围是正确的)所以我看不出问题可能是什么,或者为什么我需要继续创建客户端 ID路线。 我不确定 Playground 发生了什么,如果我不指定自己的 OAuth 凭据,我只会收到 YouTube API 的 403 错误。但是您的应用程序中是否有同样的问题?如果你得到一个有效的访问令牌,你应该能够访问 API,只需在 URL 中传递它。以上是关于来自 Youtube API 的 OAUTH 凭据无效的主要内容,如果未能解决你的问题,请参考以下文章
Youtube Data API v.3 - 全自动 oAuth 流程(Python)?
突然在 YouTube V3 API 上获得 Oauth 2.0 同意的 403(禁止)