tutorial examples php api curl token spotify

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.