php - examples - spotify api search
Extrae el token de la URL de respuesta-API de Spotify (1)
Estoy usando este código para obtener un token de la API web de Spotify:
<?php
$url = ''https://accounts.spotify.com/api/token'';
$method = ''POST'';
$credentials = "{Client ID}:{Client Secret}";
$headers = array(
"Accept: */*",
"Content-Type: application/x-www-form-urlencoded",
"User-Agent: runscope/0.1",
"Authorization: Basic " . base64_encode($credentials));
$data = ''grant_type=client_credentials'';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
?>
Eso hace que esto aparezca en el navegador:
{"access_token":"{token}","token_type":"Bearer","expires_in":3600}
¡Estupendo! ¿Pero cómo extraigo "{token}" de la respuesta y lo uso como parámetro en una solicitud a la API? Por ejemplo, en la solicitud a https://api.spotify.com/v1/users/ {user_id} / playlists, que necesita el token en el campo del encabezado.
¡Gracias!
Necesita decodificar el JSON:
$response = json_decode($response, true);
Entonces tendrás una matriz con los valores.
$token = $response[''access_token''];
Además, te falta una opción necesaria para obtener la respuesta de esta manera:
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
Si no está definido, obtendrá un valor booleano en lugar de la respuesta.