授权 chrome 应用程序在 vkontakte api 中独立运行
authorize chrome app as standalone in vkontakte api
我正在尝试在 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 to set auth redirect_uri this way "https://oauth.vk.com/blank.html", but chrome.identity api 使用 "https://.chromiumapp.org/"。因此,显示了 vk auth window 并且重定向有效,但是 chrome 无法确定 auth 重定向,并且不会使用重定向 url 进行回调。在 chrome 应用程序中是否有任何其他方法可以重定向 url?
嗯,我知道你要去哪里 "it needs to set redirect_uri
this way":
redirect_uri=https://oauth.vk.com/blank.html
It is a mandatory condition for methods which descriptions say that they are available only for Desktop applications.
恐怕无法覆盖 identity
API 使用的 URL。
在这种情况下,您可以采用与 Silver Bird Twitter 客户端相同的路线:在目标地址中插入 Content Script。从那里您可以提取所需的令牌。
编辑:我忘了您正在编写 Chrome 应用程序。然后您应该尝试使用 <webview>
及其脚本注入功能。
这意味着您必须在没有 chrome.identity
帮助的情况下自己进行 OAuth,但至少这是一个解决方案。
我正在尝试在 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 to set auth redirect_uri this way "https://oauth.vk.com/blank.html", but chrome.identity api 使用 "https://.chromiumapp.org/"。因此,显示了 vk auth window 并且重定向有效,但是 chrome 无法确定 auth 重定向,并且不会使用重定向 url 进行回调。在 chrome 应用程序中是否有任何其他方法可以重定向 url?
嗯,我知道你要去哪里 "it needs to set redirect_uri
this way":
redirect_uri=https://oauth.vk.com/blank.html
It is a mandatory condition for methods which descriptions say that they are available only for Desktop applications.
恐怕无法覆盖 identity
API 使用的 URL。
在这种情况下,您可以采用与 Silver Bird Twitter 客户端相同的路线:在目标地址中插入 Content Script。从那里您可以提取所需的令牌。
编辑:我忘了您正在编写 Chrome 应用程序。然后您应该尝试使用 <webview>
及其脚本注入功能。
这意味着您必须在没有 chrome.identity
帮助的情况下自己进行 OAuth,但至少这是一个解决方案。