【发布时间】:2015-07-11 04:54:40
【问题描述】:
当用户访问令牌时,我遇到错误。 请立即帮助我。我该如何解决这个问题,告诉我
stdClass Object ( [error] => stdClass Object ( [message] => 一个活跃的 必须使用访问令牌来查询有关当前用户的信息。 [类型] => OAuthException [代码] => 2500 ) )
require 'facebook-php-sdk-v4/src/Facebook/autoload.php';
require("facebook.php");
$fb = new Facebook\Facebook([
'app_id' => '1501716620042981',
'app_secret' => '510d15193610ca682b7f79c156992bb5',
'default_graph_version' => 'v2.3',
]);
$helper = $fb->getRedirectLoginHelper();
try {
$accessToken = $helper->getAccessToken();
} catch(Facebook\Exceptions\FacebookResponseException $e) {
// When Graph returns an error
echo 'Graph returned an error: ' . $e->getMessage();
exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
// When validation fails or other local issues
echo 'Facebook SDK returned an error: ' . $e->getMessage();
exit;
}
if (isset($accessToken)) {
// Logged in!
echo $_SESSION['facebook_access_token'] = (string) $accessToken;
// Now you can redirect to another page and use the
// access token from $_SESSION['facebook_access_token']
}
$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_URL,'https://graph.facebook.com/me/?fields=albums.fields(id,name,cover_photo,photos.fields(name,picture,source)),videos.type(uploaded)&'.$_SESSION['facebook_access_token']);
curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_handle, CURLOPT_USERAGENT, 'fb');
curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
# Return response instead of printing.
$query = curl_exec($curl_handle);
curl_close($curl_handle);
print_r(json_decode($query));
【问题讨论】:
-
您为什么只“半途而废”地使用 PHP SDK?不要使用 cURL 来发出请求,而是使用 SDK 提供的类。以这种方式“拆分”它,使用 SDK 登录,然后为了完全不同的东西而放弃它,似乎没有任何意义。
标签: php facebook-graph-api-v2.3