使用 Spotify returns "Authorization page could not be loaded" 启动 WebAuthFlow
launchWebAuthFlow with Spotify returns "Authorization page could not be loaded"
我在 Spotify 上注册了我的应用程序。我确保已将 URI 添加到我注册的应用程序中。但是每次我 运行 这段代码我总是得到同样的错误。我也在后台 运行 宁此,所以我知道不是那样。我做错了什么?
我还尝试将 /spotify
切换为 /provider_cb
。
var client_id = '<my_client_id>';
var redirectUri = chrome.identity.getRedirectURL() + "/spotify";
chrome.identity.launchWebAuthFlow({
"url": "https://accounts.spotify.com/authorize?client_id="+client_id+
"&redirect_uri="+ encodeURIComponent(redirectUri) +
"&response_type=token",
'interactive': true,
},
function(redirect_url) {
console.log(redirect_url);
});
这是我的权限:
"permissions": [
"http://*/*", "tabs", "webNavigation", "activeTab", "storage", "identity",
"declarativeContent", "https://accounts.spotify.com/*",
"https://accounts.spotify.com/authorize/*"
]
我第一次 运行 我的应用程序在重新启动 Chrome 后弹出登录页面,好像一切都很好,但在我登录后我仍然遇到相同的错误:
identity.launchWebAuthFlow: Authorization page could not be loaded.
您可以使用
var redirectUri = chrome.identity.getRedirectURL("spotify");
getRedirectUrl
将 return 一个 url 以 / 结尾。所以你的原始代码导致:
"https://<app_id>.chromiumapp.org//spotify"
相反,您可以将端点作为参数传递给表单 url
getRedirectURL
方法具有路径重载,因此您无需添加字符串。
var redirectUri = chrome.identity.getRedirectURL('spotify')
我在 Spotify 上注册了我的应用程序。我确保已将 URI 添加到我注册的应用程序中。但是每次我 运行 这段代码我总是得到同样的错误。我也在后台 运行 宁此,所以我知道不是那样。我做错了什么?
我还尝试将 /spotify
切换为 /provider_cb
。
var client_id = '<my_client_id>';
var redirectUri = chrome.identity.getRedirectURL() + "/spotify";
chrome.identity.launchWebAuthFlow({
"url": "https://accounts.spotify.com/authorize?client_id="+client_id+
"&redirect_uri="+ encodeURIComponent(redirectUri) +
"&response_type=token",
'interactive': true,
},
function(redirect_url) {
console.log(redirect_url);
});
这是我的权限:
"permissions": [
"http://*/*", "tabs", "webNavigation", "activeTab", "storage", "identity",
"declarativeContent", "https://accounts.spotify.com/*",
"https://accounts.spotify.com/authorize/*"
]
我第一次 运行 我的应用程序在重新启动 Chrome 后弹出登录页面,好像一切都很好,但在我登录后我仍然遇到相同的错误:
identity.launchWebAuthFlow: Authorization page could not be loaded.
您可以使用
var redirectUri = chrome.identity.getRedirectURL("spotify");
getRedirectUrl
将 return 一个 url 以 / 结尾。所以你的原始代码导致:
"https://<app_id>.chromiumapp.org//spotify"
相反,您可以将端点作为参数传递给表单 url
getRedirectURL
方法具有路径重载,因此您无需添加字符串。
var redirectUri = chrome.identity.getRedirectURL('spotify')