Просто извлеките аналитические данные из Spotify API - PullRequest
0 голосов
/ 04 февраля 2020

Я использую CRA и сервер Express для моего проекта, приложение отображает статистику об определенных артистах и ​​их треках / альбомах ...

Мне трудно понять, как получить простые данные из Spotify. Каждый учебник предполагает наличие логина и авторизации для участия; Мне ничего не нужно, только чистая статистика о самых горячих треках прямо сейчас.

У меня настроена учетная запись для разработчиков Spotify, и я создал проект.
Может кто-нибудь привести примеры для чего я пытаюсь достичь?

Ответы [ 2 ]

0 голосов
/ 07 февраля 2020

В этом есть примеры для всех трех потоков авторизации Spotify.

Вы хотите взглянуть на Client Credentials flow. Этот поток работает только на стороне клиента и не требует какой-либо серверной части. Используя Client Credentials flow, вы не сможете получить данные, указанные c для определенного пользователя, который не требуется в вашем сценарии.

Я предполагаю, что созданный вами project является Spotify Web Приложение API, которое имеет идентификатор клиента и секрет клиента. Эти два значения необходимы для того, чтобы заставить Client Credentials flow работать.

В следующем фрагменте показан пример Client Credentials flow Spotify.

/**
 * This is an example of a basic node.js script that performs
 * the Client Credentials oAuth2 flow to authenticate against
 * the Spotify Accounts.
 *
 * For more information, read
 * https://developer.spotify.com/web-api/authorization-guide/#client_credentials_flow
 */

var request = require('request'); // "Request" library

var client_id = 'CLIENT_ID'; // Your client id
var client_secret = 'CLIENT_SECRET'; // Your secret

// your application requests authorization
var authOptions = {
  url: 'https://accounts.spotify.com/api/token',
  headers: {
    'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64'))
  },
  form: {
    grant_type: 'client_credentials'
  },
  json: true
};

request.post(authOptions, function(error, response, body) {
  if (!error && response.statusCode === 200) {

    // use the access token to access the Spotify Web API
    var token = body.access_token;
    var options = {
      url: 'https://api.spotify.com/v1/users/jmperezperez',
      headers: {
        'Authorization': 'Bearer ' + token
      },
      json: true
    };
    request.get(options, function(error, response, body) {
      console.log(body);
    });
  }
});
0 голосов
/ 04 февраля 2020

Для доступа к любой услуге, связанной с API, вам нужно предоставить apiKey для запроса, который вы делаете

...