我想知道YouTube的v3 API和通过chrome.identity提供的OAuth2支持是否能够很好地协同工作?
我似乎无法弄明白。看看:https://developers.google.com/youtube/v3/code_samples/javascript他们似乎采用了CLIENT_ID和范围,就像我传递给我的manifest.json一样。
我的OAuth2身份令牌可以做些什么吗?或者我是否必须完全通过YouTube的授权流程?
更新:我现在可以使用YouTube的方式获取数据,但不能按我想要的方式使用..
gapi.auth.authorize({
client_id: '{CLIENT ID}.apps.googleusercontent.com',
scope: 'https://www.googleapis.com/auth/youtube',
// Set to false on first run to get pop-up interactivity
immediate: true
}, function (authResult) {
//console.log("Auth Result:", authResult);
gapi.client.load('youtube', 'v3', function () {
var request = gapi.client.youtube.channels.list({
mine: true,
part: 'contentDetails'
});
request.execute(function(response) {
console.log("response:", response);
});
});
});
我的manifest.json有:
"oauth2": {
"client_id": "{CLIENT ID}.apps.googleusercontent.com",
"scopes": [
"https://www.googleapis.com/auth/youtube",
"https://www.googleapis.com/auth/youtube.readonly",
"https://www.googleapis.com/auth/youtube.upload",
"https://www.googleapis.com/auth/youtubepartner"
]
},
"permissions": [
"identity"
}
}
答案 0 :(得分:1)
通过Google Javascript API的OAuth2是一个独立的过程,而不是chrome.identity API。身份API使用扩展ID生成唯一的访问令牌。
您必须选择一个进程而不是另一个进程,他们的访问权限将无法相互协作。
我目前正在将JavaScript OAuth2与Google Analytics服务一起使用,因为chrome.identity流程需要将您的扩展程序提交到Chrome网上应用店。 JavaScript流程的缺点是需要我为用户生成登录流程。