Facebook图表:将图片作为页面发布而不是用户

时间:2016-11-04 13:16:50

标签: php facebook facebook-graph-api facebook-php-sdk

我使用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());
            }

app发布图片为用户。 USER到PAGE。 所以我发现我需要使用publish_pages权限,但我的访问令牌包含publish_actions和publish_pages。我无法改变这一点,因为我在很多方面使用了一个访问令牌。

enter image description here

所以我不得不问,有没有办法明确选择我想要从访问令牌中使用哪些权限。 FB API具有相同的页面和用户图片发布/ user_id / photos和/ page_id / photos的代码。

1 个答案:

答案 0 :(得分:0)

需要使用页面访问令牌,没有别的办法。