簡體   English   中英

Instagram 基本顯示 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.

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