如何解决如何通过Google gapi客户端身份验证找到YouTube用户频道?
对于我正在构建的应用程序,我希望最终用户使用gapi
OAuth2
登录,然后
从那里,我希望应用程序在其YouTube频道上查找播放列表
并加载它。
getAuthInstance
方法返回带有Google用户名的对象。然而
对于我自己的特定用户名,查询按用户名查找频道ID
没有返回结果。从某些browsing online来看,这显然是一个问题
使用某些YouTube帐户。
此问题是否有解决方法?
解决方法
如果您通过GAPI
进行了有效的OAuth 2.0身份验证,那么使用使用mine=true
查询参数GAPI
的API端点来确定经过身份验证的用户的频道ID非常简单:>
Channels.list
(布尔值)
此参数只能在正确的mine
中使用。将此参数的值设置为true可以指示API仅返回经过身份验证的用户拥有的频道。
调用端点时,返回的authorized request的属性id
包含经过身份验证的用户的频道ID。
对于涉及JavaScript var channelId;
function loadAPIClientInterfaces() {
gapi.client.load('youtube','v3',function() {
getUserChannel();
});
}
function getUserChannel() {
var request = gapi.client.youtube.channels.list({
part: 'id',fields: 'items(id)',mine: true
});
request.execute(function(response) {
if ('error' in response) {
displayMessage(response.error.message);
} else {
channelId = response.items[0].id;
}
});
}
(即Google的浏览器端JavaScript的客户端库)实现的问题,代码如下所示(对于更广泛的上下文,请查看来自Google的此示例源文件:{{3 }}):
analytics_codelab.js
请注意,上面的代码(与Channels.list
中的代码不同)使用Channels
resource请求参数从{{1}}端点仅获取通道的ID信息(询问总是很有益的)仅从API中获取实际使用的信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。