-
-
Save ahallora/4aac6d048742d5de0e65 to your computer and use it in GitHub Desktop.
<?php | |
$client_id = '<insert your spotify app client id>'; | |
$client_secret = '<insert your spotify app client secret>'; | |
$ch = curl_init(); | |
curl_setopt($ch, CURLOPT_URL, 'https://accounts.spotify.com/api/token' ); | |
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 ); | |
curl_setopt($ch, CURLOPT_POST, 1 ); | |
curl_setopt($ch, CURLOPT_POSTFIELDS, 'grant_type=client_credentials' ); | |
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Basic '.base64_encode($client_id.':'.$client_secret))); | |
$result=curl_exec($ch); | |
echo $result; | |
?> |
Nice!
Thank you!
Thanks much!
I have an error:
HTTP/1.1 400 Bad Request
www-authenticate: Bearer realm="spotify", error="invalid_request", error_description="Only valid bearer authentication supported"
access-control-allow-origin: *
access-control-allow-headers: Accept, App-Platform, Authorization, Content-Type, Origin, Retry-After, Spotify-App-Version, X-Cloud-Trace-Context
access-control-allow-methods: GET, POST, OPTIONS, PUT, DELETE, PATCH
access-control-allow-credentials: true
access-control-max-age: 604800
content-type: application/json
Content-Length: 99
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
date: Sun, 06 Sep 2020 01:49:21 GMT
server: envoy
Via: HTTP/2 edgeproxy, 1.1 google
Alt-Svc: clear
{
"error": {
"status": 400,
"message": "Only valid bearer authentication supported"
}
}
Who can help me?
How do I add the scope?
$scopes = array( 'user-read-playback-state', 'user-read-playback-position' );
Hi @ahallora your gist helped me a lot, thank you very much!
But I spent some time to translate it into nodejs, I made a gist like you: https://gist.github.com/owalid/cf7a2425d9733b6aee80832f6fbc660c
Do not hesitate to look at
Hoping that this will help
Peace ;)
Thank you brother
You sir are so kind to share this knowledge, I was having trouble with this, i was passing to CURLOPT_POSTFIELDS an array but I didnt realized it required a string... thank you again sir.
Still working nicely in 2021 - One minor recommendation, add 'curl_close($ch);' before the final echo for best practices.
Superb, this helped me with another API service too. Thanks so much!
Thanks a lot!
How do I add the scope?
$scopes = array( 'user-read-playback-state', 'user-read-playback-position' );
where to add
hi! This has worked for me several years, but now it suddenly gives the following error: Error: Forbidden
Your client does not have permission to get URL /api/token from this server. Anyone else facing the same issue? Any ideas what has been changed and how to fix this?
Thanks!
Still worked for me!
Thank you so much !!!!