繁体   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