chrome.identity和YouTube v3 API?

时间:2013-09-29 06:07:37

标签: google-chrome-extension

我想知道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"
    }
}

1 个答案:

答案 0 :(得分:1)

通过Google Javascript API的OAuth2是一个独立的过程,而不是chrome.identity API。身份API使用扩展ID生成唯一的访问令牌。

您必须选择一个进程而不是另一个进程,他们的访问权限将无法相互协作。

我目前正在将JavaScript OAuth2与Google Analytics服务一起使用,因为chrome.identity流程需要将您的扩展程序提交到Chrome网上应用店。 JavaScript流程的缺点是需要我为用户生成登录流程。