2

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

1 回答 1

1

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

您必须选择一个进程而不是另一个进程,它们的访问令牌将无法相互使用。

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

于 2013-09-30T19:05:21.617 回答