用facebook php sdk自动上传图片

时间:2016-01-30 17:30:13

标签: php facebook facebook-graph-api

我正在搜索,阅读很多代码,但我的问题仍然存在,我想在Facebook页面上传图片,但是当我运行我的代码时,它会在我的个人资料页面上发布,而不是在页面时间轴上,我的代码是如下所示

function _Post($Message, $Pic)
{
    require_once ("library/facebook-php-sdk/src/facebook.php");
    $options = (object)array(); // Options
    $config = array();
    $config['appId'] = $options->posttopage_appID;
    $config['secret'] = $options->posttopage_appSecret;
    $config['fileUpload'] = true; // optional
    $fb = new Facebook($config);

    $fb->setFileUploadSupport(true);
    $params = array(
        "access_token" => $options->posttopage_access_token,
        "message" => $Message,
        //'aid' => xxxxxx,
        "image" => '@' . $Pic
    );
    try
    {
        $ret = $fb->api('/' . $options->posttopage_PageID . '/photos', 'POST', $params);
         echo 'Successfully posted to Facebook';
    }
    catch(Exception $e)
    {
         echo $e->getMessage();
    }
}
_Post('Message', '/home/username/public_html/image.png')

如果我在api代码中使用photos更改feed,我会发布为网页帖子,所以我知道如何在Facebook网页上发布图片时

2 个答案:

答案 0 :(得分:0)

确保您使用的是页面访问令牌,而不是您的。尝试在此处获取访问令牌:https://developers.facebook.com/tools/explorer。您也可以尝试api调用并查看结果

答案 1 :(得分:0)

要发布"作为Page",您必须使用manage_pagespublish_pages权限进行授权,并在API调用中生成/使用页面令牌。

有关令牌及其生成方式的更多信息:

我建议使用扩展页面令牌自动发布到页面,它永远有效。