我在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"
}
}
到我粘贴到浏览器中的这个网址:
https://www.googleapis.com/youtube/v3/channels?part=contentDetails&mine=true&key=key_for_server_apps
和我在浏览器中输入此网址时原来的结果相同
谢谢, 亚历
答案 0 :(得分:2)
根据原始海报对其他答案的评论,合成一些不同的东西:
此外,我试图提取的YouTube频道实际上不是我的。它 是一个流行的YouTube节目。我怎么能这样做?
您要进行的API调用是youtube.channels.list()
,您可以传入两个参数之一来检索任意频道的频道信息。 (您不想使用mine=true
,因为您说您没有尝试检索自己的频道。)
forUsername="LEGACY_USERNAME"
,例如: “GoogleDevelopers”或“LadyGagaVEVO”。id="UC..."
。您还需要为part=
参数添加值。 part="snippet"
通常就足够了。您不必须通过OAuth 2流程才能进行此类API调用,您只需提供一个有效的API密钥,该密钥已启用了YouTube Data API v3。 Ikai发布链接的视频系列是注册该API密钥的良好指南。
以下是使用交互式API Explorer的youtube.channels.list(part="snippet", forUsername="GoogleDevelopers")
调用的工作示例:
它对应于以下网址:https://www.googleapis.com/youtube/v3/channels?part=snippet&forUsername=GoogleDevelopers&key= {YOUR_API_KEY}
由于您在询问Android应用程序,因此使用Java客户端库来发出请求而不是请求原始URL可能是个好主意。 sample code on this page应该可以帮助您入门。
答案 1 :(得分:1)
API密钥是简单的API密钥,还是OAuth 2.0访问令牌?该API调用在工作之前需要OAuth 2.0授权。
我们最近published a video playlist解释了如何注册简单密钥和客户端ID /客户端密钥运行一些示例。
您需要做的是:
我们会在某个时候发布关于使用OAuth Playground生成访问令牌的视频。
答案 2 :(得分:1)
要使用Mine = true,您需要有一个Oauth2令牌以及获取用户数据。
这是一个可以使用的链接,只要你打开右上角的身份验证就可以浏览它了
答案 3 :(得分:1)
答案 4 :(得分:0)
我解决了这个问题,因为我错过了Google Console Dashboard
上的配置。
如果您使用google api v3,这是解决该问题的简单方法,您只需通过Google控制台信息中心启用youtube api
即可。 https://console.developers.google.com