如何使用PHP API存储经过身份验证的用户从Instagram访问令牌

时间:2014-08-29 03:40:21

标签: php api instagram

我正在创建一个简单的页面来显示我的Instragram帐户中的当前照片。我正在使用来自https://github.com/cosenary/Instagram-PHP-API的cosenary的Instagram PHP API(instagram.class.php)

成功登录后,成功页面显示正确。但是当我再次刷新页面时,它显示以下错误消息:

Fatal error: Uncaught exception 'Exception' with message 'Error: _makeCall() | users/self/media/recent - This method requires an authenticated users access token.' in /home/teammond/public_html/projects/amacc/it321/final/instagram.class.php:432 
Stack trace: #0 /home/teammond/public_html/projects/amacc/it321/final/instagram.class.php(148): Instagram->_makeCall('users/self/medi...', true, Array) #1 /home/teammond/public_html/projects/amacc/it321/final/success/index.php(40): Instagram->getUserMedia() #2 {main} thrown in /home/teammond/public_html/projects/amacc/it321/final/instagram.class.php on line 432

我尝试在PHP会话中放置我认为的令牌,但仍无济于事。

这是我的成功页面(redirect_uri)中的PHP代码:

<?php
session_start();

require_once '../instagram.class.php';

// initialize class
$instagram = new Instagram(array(
    'apiKey'      => '010d47aaccf945559ae9ded9d0aa7459',
    'apiSecret'   => '{omitted}',
    'apiCallback' => 'http://projects.teammondestars.com/amacc/it321/final/success'
));

// receive OAuth code parameter
$code = $_GET['code'];

if (!isset($_SESSION['oauth'])) {
    $_SESSION['oauth'] = $code;
}
// check whether the user has granted access
if (isset($_SESSION['oauth'])) {

// receive OAuth token object
$data     = $instagram->getOAuthToken($_SESSION['oauth'], true);
$username = $username = $data->user->username;

// store user access token
$instagram->setAccessToken($data);
if (!isset($_SESSION['token'])) {
    $_SESSION['token'] = $instagram->getAccessToken();
}

// now you have access to all authenticated user methods
$result = $instagram->getUserMedia();
} else {

// check whether an error occurred
if (isset($_GET['error'])) {
    echo 'An error occurred: ' . $_GET['error_description'];
}

}

?>

0 个答案:

没有答案