Youtube API密钥-accessNotConfigured错误



我在YouTube上注册了一个Android应用程序的应用程序,并获得了一个API密钥。然后我试着通过浏览器进行api调用,尝试如下:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key=my_api_key

我得到了这个错误:

{
 "error": {
  "errors": [
   {
    "domain": "usageLimits",
    "reason": "accessNotConfigured",
    "message": "Access Not Configured"
   }
  ],
  "code": 403,
  "message": "Access Not Configured"
 }
}

但我确实配置了我的帐户,并将服务设置为使用YouTube Data API v3知道我还需要做什么吗?

编辑:在创建clientId并启用所有需要的服务后,我得到了以下响应:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.parameter",
    "reason": "authorizationRequired",
    "message": "Unauthorized",
    "locationType": "parameter",
    "location": "mine"
   }
  ],
  "code": 401,
  "message": "Unauthorized"
 }
}

我粘贴到浏览器中的这个url:

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key=key_for_server_apps

和我在浏览器中输入此url时的原始结果相同

https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=真&key=key_for_browser_apps

谢谢,Alex

根据原始海报对其他答案的评论,综合一些不同的东西:

此外,我试图撤下的YouTube频道实际上并不是我的。它是一个受欢迎的YouTube节目。我怎么能那样做?

您要进行的API调用是youtube.channels.list(),您可以传入两个参数中的一个来检索任意通道的通道信息。(你不想使用mine=true,因为你说你没有试图检索你自己的频道。)

  • 如果您知道YouTube频道的传统用户名,例如"GoogleDevelopers"或"LadyGagaVEVO",则可以使用forUsername="LEGACY_USERNAME"
  • 如果您碰巧知道频道的id(通常以"UC"开头),则可以使用id="UC..."

您还需要为part=参数包含一个值。CCD_ 6通常是足够的。对于这种API调用,您不必通过OAuth 2流,您只需提供一个有效的API密钥,该密钥已启用YouTube Data API v3。Ikai发布链接的视频系列是注册该API密钥的好指南。

下面是一个使用交互式API Explorer:的youtube.channels.list(part="snippet", forUsername="GoogleDevelopers")调用的工作示例

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=snippet&forUsername=谷歌开发者

它对应于以下URL:https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=谷歌开发者&密钥={YOUR_API_key}

既然您询问的是安卓应用程序,那么使用Java客户端库进行请求可能是个好主意,而不是请求原始URL。这个页面上的示例代码应该可以帮助您入门。

API密钥是简单的API密钥,还是OAuth 2.0访问令牌?API调用需要OAuth 2.0授权才能工作。

我们最近发布了一个视频播放列表,解释了如何注册简单密钥和客户端ID/客户端机密运行一些示例。

你需要做的是:

  1. 注册客户端ID/客户端机密
  2. 通过三条腿的OAuth 2.0授权流并获得访问令牌
  3. 使用该访问令牌进行API调用

我们将在某个时候发布一段关于使用OAuth Playground生成访问令牌的视频。

要使用Mine=true,您需要有一个Oauth2令牌,以及用于获取用户数据的令牌。

这是一个你可以使用的链接,只要你打开右上角中的身份验证,它就会让你浏览

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=contentDetails&mine=真&amp_h=1&

  1. 您确定要在应用程序中执行OAuth2过程并获得OAuth2密钥吗
  2. 同样在开发控制台的服务下,您是否启用了YouTube Data API v3

我解决了这个问题,因为我错过了Google Console Dashboard上的配置。

如果你使用googleapiv3,这是解决这个问题的简单方法,你只需要通过谷歌控制台面板启用youtube api。https://console.developers.google.com

相关内容

  • 没有找到相关文章

最新更新