1

我是初级程序员

为了获得 Instagram 身份验证,我在我的服务器上上传了这个 php 代码

<?php 

getAccessToken();

function getAccessToken(){

if($_GET['code']) {
    $code = $_GET['code'];
    $url = "https://api.instagram.com/oauth/access_token";
    $access_token_parameters = array(
            'client_id'                =>     'b7f14786b7754f04aa43dcxxxxxxxxxx', // my client id
            'client_secret'            =>     '33987fcae22949a9b3682bxxxxxxxxxx', // secret key
            'grant_type'               =>     'authorization_code',
            'redirect_uri'             =>     'http://thedreamkr.com/',
            'code'                     =>     $code
    );
    $curl = curl_init($url);    // we init curl by passing the url
    curl_setopt($curl,CURLOPT_POST,true);   // to send a POST request
    curl_setopt($curl,CURLOPT_POSTFIELDS,$access_token_parameters);   // indicate the data to send
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 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

    $arr = json_decode($result,true);
    echo "access_Token: ".$arr['access_token']; // display the access_token
    echo "<br>";   
    echo "user_name : ".$arr['user']['username'];   // display the username
}
}

?>

当我访问“ https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=code

它返回以下错误

Notice: Undefined index: access_token in /home/ubuntu/php/hashberry/token.php on line 26 
access_Token:
Notice: Undefined index: user in /home/ubuntu/php/hashberry/token.php on line 28
user_name : 
4

1 回答 1

2

经过测试,您的代码可以完美运行。

但是:1-您需要将代码放在与您的网站 URI 不同的重定向 URI 中。2- 更改您的重定向 uri 以匹配您注册的应用程序中的那个。

例如:网站 URI:https
://example.com/ 重定向 URI:https ://example.com/register/

祝你好运

于 2015-09-20T14:12:53.330 回答