launchWebAuthFlow с 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.
1 6

1 ответ:

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

Должно быть

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

GetRedirectUrl вернет url-адрес с символом / в конце. Итак, ваш исходный код привел к следующему:

"https://<app_id>.chromiumapp.org//spotify"