Как создать токен пользователя Apple Music вне iOS

Я пытаюсь позволить людям ставить лайки трекам, альбомам или плейлистам в Apple Music с веб-страницы.

Я понимаю руководство на этой странице: https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/AppleMusicWebServicesReference/SetUpWebServices.html

Пока я не наткнулся на ту часть, где я должен использовать метод requestUserToken(forDeveloperToken:completionHandler:) из SKCloudServiceController в фреймворке StoreKit, поскольку нет фреймворка StoreKit, доступного за пределами iOS.

Как генерируется этот токен? Есть ли другой способ сгенерировать этот музыкальный токен пользователя вручную?

Я знаю, что это (очень) недальновидно, но, может быть, кто-то понял это!


person Reinier    schedule 18.07.2017    source источник
comment
Токен можно сгенерировать отсюда: example-code.com/swift/jwt_ecc_create.asp даже у него есть шифрование ES256, но он принимает файл pem, а Apple предоставляет файл формата p8. Я много искал, но не нашел решения для преобразования файла p8 в pem.   -  person TechValens    schedule 23.05.2018


Ответы (2)


Я попробовал этот подход в своем приложении для iOS.

Вы можете перейти по этой ссылке создать музыкальный токен

Это в основном скрипт Python. Вы можете легко создать токен разработчика музыки со своего Mac.

person Abdul Yasin    schedule 28.08.2017
comment
Эй, спасибо, что добавили свой ответ! Я совсем забыл об этом вопросе, но, к счастью, в конце концов я тоже нашел это репо. - person Reinier; 24.10.2017
comment
@Reinier, @AbdulYasin - это не позволяет генерировать пользовательские токены за пределами США, не так ли? - person zerohedge; 27.12.2017
comment
@AbdulYasin Спасибо за ответ. Я имею в виду токены пользователя, а не токены разработчика. Не могли бы вы показать, как это можно сделать в ответе? Я имею в виду, где вы предлагаете пользователю ввести свои учетные данные перед получением токена? Примечание. Я не говорю об iOS. Я говорю о веб-приложении. - person zerohedge; 27.12.2017
comment
@zerohedge Вы найдете приведенную выше ссылку очень полезной. Чтобы сгенерировать токен пользователя (закрытый ключ MusicKit в файле *.p8, 10-значный идентификатор ключа в вашей учетной записи разработчика Apple и 10-значный идентификатор команды учетной записи разработчика Apple), вы можете посетить Центр поддержки участников Apple. Если у вас есть учетная запись участника, вы можете приступить к созданию материалов. - person Abdul Yasin; 27.12.2017
comment
@AbdulYasin Я уже был там, и мне до сих пор неясно, как идентифицировать, например, пользователя Windows, у которого есть Apple Music на его iPhone, из веб-приложения Python. Спасибо за помощь в любом случае - person zerohedge; 27.12.2017

Новая библиотека Apple MusicKit JS позволяет создавать токены пользователя Music из вашего токена разработчика, как показано здесь. вне iOS. После того, как вы загрузили библиотеку, вы можете использовать метод authorize, чтобы позволить пользователю пройти аутентификацию и сгенерировать токен.

document.addEventListener('musickitloaded', function() {
  // MusicKit global is now defined
  MusicKit.configure({
    developerToken: 'DEVELOPER-TOKEN',
    app: {
      name: 'My Cool Web App',
      build: '1978.4.1'
    }
  });

  let music = MusicKit.getInstance();

  music.authorize().then(musicUserToken => {
    console.log(musicUserToken);
  });
});
person Kole Myers    schedule 17.08.2018
comment
Нужно ли шифровать этот токен, если я хочу сохранить его в своей базе данных для каждого пользователя? - person zerohedge; 26.09.2018
comment
Он возвращает мне «неопределенное» - person Pradeep Singh; 11.10.2018
comment
Я пробовал все методы, такие как 'music.musicUserToken', но у меня все еще не работает - person Pradeep Singh; 13.10.2018
comment
Я сделал базовый пример установки js sdk здесь. После настройки переменная music должна быть доступна в консоли, и вы можете запустить music.authorize().then(musicUserToken => { console.log(musicUserToken); }); для входа в систему. Для входа вам потребуется учетная запись Apple Music. Надеюсь, это поможет - person Kole Myers; 15.10.2018
comment
@KoleMyers Привет, я пытаюсь авторизовать пользователя, но после входа в систему ничего не происходит. Отображается пустое окно. - person Degard; 02.07.2019
comment
@Degard - хм, похоже, у меня это все еще работает. Вы пытаетесь настроить в том проекте github, который я связал? если да открывайте тему по проекту с вашими данными и я постараюсь разобраться. - person Kole Myers; 03.07.2019