我正在尝试在Chrome应用中使用vk.messages api,如下所示:
app.login = function () {
var link = 'https://oauth.vk.com/authorize?' +
'client_id=4837072' +
'&scope=friends,docs,status,messages,notifications,' +
'&redirect_uri=' + 'https://oauth.vk.com/blank.html' +
'&display=popup' +
'&v=API_VERSION' +
'&response_type=token';
var width = 655;
var height = 539;
var left = (screen.width / 2) - (width / 2);
var top = (screen.height / 2) - (height / 2);
chrome.identity.launchWebAuthFlow({
'url': link,
'interactive': true
}, function (redirect_url) {
// redirect_url is undefined
console.log(redirect_url);
});
};
It needs以这种方式设置auth redirect_uri“https://oauth.vk.com/blank.html”,但chrome.identity api使用“https://.chromiumapp.org/”。因此,显示vk auth窗口并且重定向有效,但chrome无法确定auth重定向,并且不会使用重定向url回调。有没有其他方法可以在Chrome应用程序中获取重定向网址?
答案 0 :(得分:1)
好吧,我知道你要去哪里“它需要以这种方式设置redirect_uri
:
redirect_uri=https://oauth.vk.com/blank.html
这些方法的强制条件是说明它们仅适用于桌面应用程序。
我担心无法覆盖identity
API使用的网址。
在这种情况下,您可以使用相同的路线Silver Bird Twitter客户端:在目标地址中注入Content Script。从那里你可以提取所需的代币。
编辑:我忘了您正在编写Chrome应用。然后,您应该尝试使用<webview>
及其脚本注入功能。
这意味着您必须在没有chrome.identity
自己帮助的情况下进行OAuth,但至少这是一个解决方案。