Я пишу приложение Cordova, которое подключается к учетной записи пользователя Spotify и воспроизводит музыку, для этого я использую 3 плагина:
- cordova-spotify-oauth: для подключения к учетной записи spotify
- cordova-plugin-customurlscheme: для URL-адреса обратного вызова (работает с spotify api)
- cordova-plugin-whitelist: для разрешения доступа к моей заказной схеме
Я использую следующий код:
const config = {
clientId: "<Hiding clientId>",
redirectUrl: "apiapp://localhost",
scopes: ["user-read-email"],
tokenExchangeUrl: "apiapp://localhost",
tokenRefreshUrl: "apiapp://localhost",
};
cordova.plugins.spotifyAuth.authorize(config)
.then(({ accessToken, expiresAt }) => {
alert("a: "+accessToken);
alert("b: "+accessToken);
})
.catch(error => {
alert(JSON.stringify(error));
});
И это мой config.xml (для плагина белого списка):
<?xml version='1.0' encoding='utf-8'?>
<widget id="fr.apiapp.api" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
<name>ApiApp</name>
<description>
Api for spotify, SoundCloud et deezer
</description>
<author email="dev@cordova.apache.org" href="http://cordova.io">
Someone
</author>
<content src="index.html" />
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
<plugin name="LaunchMyApp" value="nl.xservices.plugins.LaunchMyApp"/>
</widget>
В моем package.json у меня есть это:
"cordova-plugin-customurlscheme":{"URL_SCHEME":"apiapp","ANDROID_SCHEME":"apiapp","ANDROID_HOST":"localhost","ANDROID_PATHPREFIX":"/"}
И я импортировал LaunchMyApp.js в свой индекс, как сказано в файле readme.
Это всегда возвращает мне эту ошибку:
{"name":"auth_failed"}
Заранее спасибо;)