6

Я зарегистрировал свое приложение на Spotify. Я убедился, что URI добавлен в мое зарегистрированное приложение. Но все же каждый раз, когда я запускаю этот код, я все равно получаю ту же ошибку. Я также управляю этим в фоновом режиме, поэтому я знаю, что это не так. Что я делаю не так?launchWebAuthFlow с Spotify возвращает «Страница авторизации не может быть загружена»

Также я попытался переключить /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, то на странице входа всплывает, как все хорошо, но после того, как я войти I еще получить ту же ошибку:

identity.launchWebAuthFlow: Authorization page could not be loaded. 
+0

Попробуйте удалить '/' с URL-адреса разрешения, так что это «https://accounts.spotify.com/authorize*». – abraham

+0

не имеет значения :( –

+1

Почему вы добавляете ''/spotify ''в' redirectUri'? Вы можете попробовать без него. Кроме того, 'chrome.identity.getRedirectURL()' возвращает что-то вроде https://hmjkmjkepdijhoojdojkdfohbdgmmhki.chromiumapp.org/, поэтому у вас может быть проблема с двойными косыми чертами. –

ответ

6
var redirectUri = chrome.identity.getRedirectURL() + "/spotify"; 

должен быть

var redirectUri = chrome.identity.getRedirectURL() + "spotify"; 

getRedirectUrl вернет URL с/в конце. поэтому ваш исходный код привел к:

"https://<app_id>.chromiumapp.org//spotify" 
Смежные вопросы