我在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/客户端机密运行一些示例。
你需要做的是:
- 注册客户端ID/客户端机密
- 通过三条腿的OAuth 2.0授权流并获得访问令牌
- 使用该访问令牌进行API调用
我们将在某个时候发布一段关于使用OAuth Playground生成访问令牌的视频。
要使用Mine=true,您需要有一个Oauth2令牌,以及用于获取用户数据的令牌。
这是一个你可以使用的链接,只要你打开右上角中的身份验证,它就会让你浏览
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.channels.list?part=contentDetails&mine=真&_h=1&
- 您确定要在应用程序中执行OAuth2过程并获得OAuth2密钥吗
- 同样在开发控制台的服务下,您是否启用了YouTube Data API v3
我解决了这个问题,因为我错过了Google Console Dashboard
上的配置。
如果你使用googleapiv3,这是解决这个问题的简单方法,你只需要通过谷歌控制台面板启用youtube api
。https://console.developers.google.com