![](/img/trans.png)
[英]"Invalid platform app" error using Instagram Basic Display API
[英]Instagram Basic Display API returning error
我正在嘗試從 Instagram 的基本顯示 API 請求訪問令牌,但它給了我這個錯誤:
{"error_type": "OAuthException", "code": 400, "error_message": "Missing required field client_id"}
這很奇怪,因為我提供了一個 client_id。 這是我的代碼:
$client_id = 'xxx';
$client_secret = 'xxx';
$redirect_uri = 'xxx';
if (isset($_GET['code'])) {
$code = $_GET['code'];
echo $code;
$url = 'https://api.instagram.com/oauth/access_token';
$data = array([
'client_id' => $client_id,
'client_secret' => $client_secret,
'grant_type' => 'authorization_code',
'redirect_uri' => $redirect_uri,
'code' => $code
]);
$curl = curl_init($url);
curl_setopt($curl,CURLOPT_POST,true);
curl_setopt($curl,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
//curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // to stop cURL from verifying the peer's certificate.
$result = curl_exec($curl);
curl_close($curl);
echo $result;
}else{
echo '<a href="https://api.instagram.com/oauth/authorize?client_id='.$client_id.'&redirect_uri='.$redirect_uri.'&scope=user_profile,user_media&response_type=code">connect your instagram</a>';
}
編輯:
當我在 Postman 中運行此測試時,如果我將數據放入參數中,我會得到相同的錯誤,但如果我將它放入 body / x-www-form-urlencoded 中它可以工作。 這是為什么它不起作用的明確線索......
我究竟做錯了什么?
改變:
$data = array([
'client_id' => $client_id,
'client_secret' => $client_secret,
'grant_type' => 'authorization_code',
'redirect_uri' => $redirect_uri,
'code' => $code
]);
至:
$data = array(
'client_id' => $client_id,
'client_secret' => $client_secret,
'grant_type' => 'authorization_code',
'redirect_uri' => $redirect_uri,
'code' => $code
);
它會起作用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.