簡體   English   中英

我正在使用 php 通過 PHP 和客戶端憑據流連接到 spotify 的 API

[英]I am using php to connect to spotify's API with PHP and with the client credentials flow

我不熟悉使用某種 REST 協議,並且無法從 cURL 請求中取回我的訪問令牌。

這是使用 WAMP。 我已經啟用了 cURL 擴展,現在可以使用了。 我也已經制作了一個 spotify 應用程序並擁有我的客戶端 ID 和秘密 ID。

<?php

/* Spotify Application Client ID and Secret Key */
$client_id     = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; 
$client_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

/* Get Spotify Authorization Token */
$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);
$json = json_decode($result, true);

 echo "Results of json:  ". + $json['access_token'];

/* Get Spotify Artist Photo */
echo "<pre>";
exec('curl -i "https://api.spotify.com/v1/search?<br>q=Maycon+%26+Vinicius+&limit=1&type=artist" -H "Accept: application/json" -H "Authorization: Bearer '.$json['access_token'].'" -H "Content-Type: application/json" 2>&1', $pp);
echo implode("\r\n", $pp);
?>

我得到的錯誤是:

""status": 400, "message": "僅支持有效承載認證""

當我嘗試打印出我的 json 資源變量$json[access_token]的結果時,它會打印 0。

這是完整的錯誤消息。

HTTP/2 400
www-authenticate: Bearer realm="spotify", error="invalid_request",
error_description="僅支持有效的承載認證"
訪問控制允許來源:*
access-control-allow-headers:接受、應用平台、授權、內容-
類型、來源、重試后、Spotify-應用程序版本
訪問控制允許方法:GET、POST、OPTIONS、PUT、DELETE、PATCH
訪問控制允許憑據:真
訪問控制最大年齡:604800
內容類型:應用程序/json
內容長度:99
日期:2019 年 10 月 26 日星期六 15:55:39 GMT
通過:1.1 谷歌
alt-svc:清除

您是否嘗試過其他請求並遇到類似的身份驗證錯誤? 為了進行測試,我接受了您的查詢並對其進行了一些簡化以在我的系統上對其進行測試,它返回了一位藝術家,因此它看起來可以正常工作。

curl -i "https://api.spotify.com/v1/search?q=Maycon+%26+Vinicius+&limit=1&type=artist" -H "Accept: application/json" -H "Authorization: Bearer $AccessToken" -H "Content-Type: application/json"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM