加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 使用cURL请求instagram api acces令牌

发布时间:2020-12-13 17:01:18 所属栏目:PHP教程 来源:网络整理
导读:我正在尝试从instagram api获取访问令牌,这是文档的示例请求 curl -F 'client_id=CLIENT_ID' -F 'client_secret=CLIENT_SECRET' -F 'grant_type=authorization_code' -F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' -F 'code=CODE' https://api.in
我正在尝试从instagram api获取访问令牌,这是文档的示例请求

curl -F 'client_id=CLIENT_ID' 
    -F 'client_secret=CLIENT_SECRET' 
    -F 'grant_type=authorization_code' 
    -F 'redirect_uri=AUTHORIZATION_REDIRECT_URI' 
    -F 'code=CODE' 
    https://api.instagram.com/oauth/access_token

这是我的代码

<body>
    <?php
      $curl = curl_init();
      curl_setopt($curl,CURLOPT_URL,"https://api.instagram.com/oauth/access_token");
      curl_setopt($curl,CURLOPT_POST,true);
      curl_setopt($curl,CURLOPT_POSTFIELDS,"client_id=MYID&
        client_secret=MY_CLIENT_SECRET&grant_type=authorization_code&
        redirect_uri=http://localhost/pruebainst/pruebas.php&code=".$_GET['code']);
      curl_setopt($curl,CURLOPT_RETURNTRANSFER,CURLOPT_TIMEOUT,10);
      $output = curl_exec($curl);
      curl_close($curl);

      echo ($output);
     ?>
  </body>

使用此代码,我从curl请求中得不到任何结果

解决方法

使用此代码将为您提供重定向URL中的访问令牌.

$client_id = 'YOUR CLIENT ID';
    $client_secret ='YOUR CLIENT SECRET';
    $redirect_uri = 'YOUR REDIRECT URI';

     $auth_request_url = 'https://api.instagram.com/oauth/authorize/?client_id='.$client_id.'&redirect_uri='.$redirect_uri .'&response_type=token';
/* Send user to authorisation */
header("Location: ".$auth_request_url);

此外,如果您希望以编程方式使用此访问令牌

$client_id = 'YOUR CLIENT ID';
    $client_secret ='YOUR CLIENT SECRET';
        $redirect_uri = 'YOUR REDIRECT URI';
    $code ='Enter your code manually';

    $url = "https://api.instagram.com/oauth/access_token";
    $access_token_parameters = array(
        'client_id'                =>     $client_id,'client_secret'            =>     $client_secret,'grant_type'               =>     'authorization_code','redirect_uri'             =>     $redirect_uri,'code'                     =>     $code
    );

$curl = curl_init($url);    // we init curl by passing the url
    curl_setopt($curl,true);   // to send a POST request
    curl_setopt($curl,$access_token_parameters);   // indicate the data to send
    curl_setopt($curl,1);   // to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
    curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);   // to stop cURL from verifying the peer's certificate.
    $result = curl_exec($curl);   // to perform the curl session
    curl_close($curl);   // to close the curl session

     var_dump($result);

NOTE: $url and $redirect_uri are not same

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读