PHP を使用して、ユーザーのタイムラインに画像をアップロードしようとしています。アプリをインストールした後、次のコードを使用していますが、エラーが発生します: OAuthException: 現在のユーザーに関する情報を照会するには、アクティブなアクセス トークンを使用する必要があります。
$token 変数を介してアクセス トークンをエコーできるので、そこにあることがわかります。私はいたるところを見て、それを修正しようとしましたが、成功しませんでした。コードはこちら...
<?php
include_once "src/facebook.php";
$app_id = 'xxxxxx';
$application_secret = 'xxxxxx';
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $application_secret,
'cookie' => true, // enable optional cookie support
));
if ($facebook->getUser())
{
$user = $facebook->getUser();
//die($token);
try
{
$token = $facebook->getAccessToken();
$facebook->setFileUploadSupport(true);
$file = "5star.png";
$post_data = array(
"message" => "My photo caption",
"source" => '@' . realpath($file)
);
//die("/me/photos/?access_token=$token");
$data['photo'] = $facebook->api("/me/photos?access_token=$token", 'post', $post_data);
} catch (FacebookApiException $e)
{
die($e);
}
header( 'Location: http://google.com' ) ;
}else
{
$loginUrl = "https://graph.facebook.com/oauth/authorize?type=user_agent&display=page&client_id=$app_id&redirect_uri=http://apps.facebook.com/yourprofilerating/&scope=user_photos,email,offline_access,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown";
echo "<script> top.location.href='" . $loginUrl . "'</script>";
}
?>