Google chrome extension chrome.identity和YouTube v3 API?

Google chrome extension chrome.identity和YouTube v3 API?,google-chrome-extension,Google Chrome Extension,我想知道YouTube的V3API和通过chrome.identity提供的OAuth2支持是否配合得很好 我似乎不明白。查看:它们似乎采用了客户机ID和作用域,很像我正在传递到manifest.json中 我能用我的OAuth2身份令牌做些什么吗?还是我必须完全通过YouTube的授权流程 更新:我现在可以用YouTube的方式获取数据,但不是用我想要的方式 gapi.auth.authorize({ client_id: '{CLIENT ID}.apps.googleuserc

我想知道YouTube的V3API和通过chrome.identity提供的OAuth2支持是否配合得很好

我似乎不明白。查看:它们似乎采用了客户机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);
        });
    });  
});
My 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"
    }
}

通过Google Javascript API的OAuth2是一个独立于API的过程。identity API使用扩展id生成唯一的访问令牌

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


我目前正在分析服务中使用JavaScriptOAuth2,因为chrome.identity过程需要将扩展提交到ChromeWebStore。JavaScript过程的缺点是需要我为用户生成登录流。

试试“gapi.auth.setToken”:。首先调用chrome.identity.getAuthToken(首先在manifest.json中声明正确的客户端id和作用域)。在回调中,使用gapi.auth.setToken设置OAuth 2令牌。非常感谢。你是个圣人。这正是我要找的。除了它似乎不喜欢auth令牌:(我想我会使用chrome.identity进程,因为将我的所有权限请求保存在一个位置是有意义的。您有关于如何使用chrome.identity OAuth2键与YouTube JavaScript API接口的任何信息吗?@SeanAnderson您最有可能需要根据文档创建一个新的客户端ID,回答中的链接)。另外,请注意。对于这个主题可能需要的冗长对话,Google groups可能是更好的论坛。如果你开始分享链接,这是一个我很快就会处理的主题。你有没有进一步研究过这个问题?我已经找到了解决方案,但这是一个非常明显的安全问题。请看这里:@SeanAnderson抱歉我没有。