我正在使用FB App将帖子发布到我的FB页面 . 因此,当我使用此代码进行链接时,它可以工作 .
$facebook = new Facebook(array(
'appId' => $fb_app_id,
'secret' => $fb_secret,
'cookie' => true
));
$attachment = array(
'access_token' => $row["token"],
'name' => $_POST["name"],
'picture' => $_POST["picture"],
'message' => $_POST["message"],
'link' => $_POST["link"]);
try
{
$facebook->api("/".$row['id']."/feed", "POST", $attachment);
}
catch(Exception $e)
{
echo('exception caught '.$e->getMessage());
}
但是,当我想将图片分享为页面时:
$facebook = new Facebook(array(
'appId' => $fb_app_id,
'secret' => $fb_secret,
'cookie' => true,
'fileUpload' => true,
'allowSignedRequest' => false
));
$attachment = array('access_token' => $row["token"], 'url' => 'http://image.link.jpg', 'message' => $_POST["message"]);
try
{
$facebook->api("/".$row['id']."/photos", "POST", $attachment);
}
catch(Exception $e)
{
echo('exception caught '.$e->getMessage());
}
该应用程序发布图片为用户 . USER到PAGE . 所以我发现我需要使用publish_pages权限,但我的访问令牌包含publish_actions和publish_pages . 我不能改变它,因为我正在使用一个访问令牌来做很多事情 .
所以我不得不问,有没有办法从访问令牌中明确选择我想要使用的权限 . FB API具有相同的页面和用户图片发布/ user_id / photos和/ page_id / photos的代码 .
1 回答
需要使用页面访问令牌,没有别的办法 .