В настоящее время я новичок в использовании php и Laravel и работе с API, однако я следую учебному пособию по Spotify PHP https://github.com/jwilsson/spotify-web-api-php.
Я также выделил жирным шрифтом некоторые из моих вопросов, которые я хотел задать, надеюсь, кто-то может помочь.
Я выполнил все шаги, но мне нужна помощь, чтобы все заработало.
Поместите следующий код в его собственный файл, назовем его auth.php. Замените CLIENT_ID и CLIENT_SECRET значениями, предоставленными вам Spotify.
(Где я должен сохранить этот файл?)
REDIRECT_URI - это тот, который вы указали при создании приложения Spotify, убедитесь, что он точно соответствует.
(я использовал свой localhost: 8888 / callback / не уверен, правильно ли это?) Очевидно, что я не разместил здесь свои подробности из соображений безопасности.
<?php
require 'vendor/autoload.php';
$session = new SpotifyWebAPI\Session(
'CLIENT_ ID',
'CLIENT_SECRET',
'REDIRECT_URL'
);
$options = [
'scope' => [
'playlist-read-private',
'user-read-private',
],
];
header('Location: ' . $session->getAuthorizeUrl($options));
die();
?>
Когда пользователь одобрит ваше приложение, Spotify перенаправит пользователя вместе с кодом на указанный URI перенаправления. Вам потребуется использовать этот код для запроса токена доступа у Spotify.
поместите этот код в новый файл с именем callback.php:
Заменить идентификатор клиента и секрет на мои данные? также как сохранить токен доступа?
require 'vendor/autoload.php';
$session = new SpotifyWebAPI\Session(
'CLIENT_ID',
'CLIENT_SECRET',
'REDIRECT_URI'
);
// Request a access token using the code from Spotify
$session->requestAccessToken($_GET['code']);
$accessToken = $session->getAccessToken();
$refreshToken = $session->getRefreshToken();
// Store the access and refresh tokens somewhere. In a database for example.
// Send the user along and fetch some data!
header('Location: app.php');
die();
В третьем файле app.php укажите API-оболочке, какой токен доступа использовать, а затем сделайте несколько вызовов API!
(Где я могу также сохранить этот файл и как мне выполнять эти вызовы в контроллерах Laravel?)
require 'vendor/autoload.php';
$api = new SpotifyWebAPI\SpotifyWebAPI();
// Fetch the saved access token from somewhere. A database for example.
$api->setAccessToken($accessToken);
// It's now possible to request data about the currently authenticated user
print_r(
$api->me()
);
// Getting Spotify catalog data is of course also possible
print_r(
$api->getTrack('7EjyzZcbLxW7PaaLua9Ksb')
);