Facebook的照片上传 - 一个活跃的访问令牌,必须使用查询有关当前用户的信息 [英] Facebook photo upload - An active access token must be used to query information about the current user
问题描述
我有这个问题,我的code,IAM试图上传到用户墙上的图像,但它给我以下错误:
I have this problem with my code, iam trying to upload an image to a users wall, but it give me following error:
致命错误:未捕获OAuthException:活动的访问令牌,必须使用查询有关当前用户的信息。抛出/var/www/parkourjams.dk/emilaagaard/customers/fbgen/core/facebook/base_facebook.php线1238
Fatal error: Uncaught OAuthException: An active access token must be used to query information about the current user. thrown in /var/www/parkourjams.dk/emilaagaard/customers/fbgen/core/facebook/base_facebook.php on line 1238
我的code是:
<?php
session_start();
require 'facebook/facebook.php';
$app_id = "438648619527874";
$app_secret = "HIDDEN";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'fileUpload' => true,
'cookie' => true
));
$post_login_url = "http://emilaagaard.dk/customers/fbgen/core/test.php";
$code = $_REQUEST["code"];
if (empty($code)) {
$dialog_url= "http://www.facebook.com/dialog/oauth?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode( $post_login_url)
. "&scope=publish_stream";
echo("<script>top.location.href='" . $dialog_url
. "'</script>");
} else {
$token_url="https://graph.facebook.com/oauth/access_token?"
. "client_id=" . $app_id
. "&redirect_uri=" . urlencode( $post_login_url)
. "&client_secret=" . $app_secret
. "&code=" . $code;
// curl
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $token_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
$params = null;
parse_str($response, $params);
$access_token = $params['access_token'];
echo "Token: " . $access_token . "<br /><br />";
$graph_url= "https://graph.facebook.com/me/photos?"
. "access_token=" .$access_token;
// Post it!
$user = $facebook->getUser();
$args = array(
'message' => 'Photo Caption',
'image' => '@'.realpath("ac.png")
);
$user = $facebook->getUser();
$user_profile = $facebook->api('/me');
if ($user) {
print_r($user);
echo "Username: " . $user_profile['username'];
try {
// We have a valid FB session, so we can use 'me'
$data = $facebook->api('/me/photos', 'post', $args);
echo $data;
} catch (FacebookApiException $e) {
print $e;
}
} else {
echo "Dead user";
$loginUrl = $facebook->getLoginUrl();
print ', try <a href="' . $loginUrl . '">login</a></script>';
}
echo '</body></html>';
}
?>
我真的希望有人在那里可以帮助我,IAM累了,有可能是code-蒙蔽我自己的派对结束后熬夜来完成这一点。
I really hope for someone out there can help me, iam tired and have probably code-blinded my self for staying up all night after a party to finish this.
谢谢!
推荐答案
如果您在本地服务器上测试它
if you are testing it on local server
插入
curl_setopt($ CH,CURLOPT_SSL_VERIFYPEER,FALSE);
在 curl_setopt($ CH,CURLOPT_RETURNTRANSFER,1);
插入
Facebook的:: $ CURL_OPTS [CURLOPT_SSL_VERIFYPEER] = FALSE;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
$ facebook-> setAccessToken($的access_token);
$facebook->setAccessToken($access_token);
在 $ USER = $ facebook->的getUser();
这篇关于Facebook的照片上传 - 一个活跃的访问令牌,必须使用查询有关当前用户的信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!