如何从PHP应用程序发布图像到Facebook页面?

时间:2012-11-14 17:57:15

标签: php facebook

我正在尝试将图片从PHP应用发布到Facebook页面。我在这个网站上查看了很多资源,文档,一些演示代码和几个问题,但无法完成一个有效的应用程序。

这是我的代码:

$facebook = new Facebook(array(
  'appId'  => $appId,
  'secret' => $appSecret
));

$fbuser = $facebook->getUser();

$facebook->setFileUploadSupport(true);

$post_url = '/443513955707619/photos';

$msg_body = array(
                'source' => '@/www/www.gbart.hu/public_html/facebook/megosztos_app/img/winner/winner_'.(int)$round[0].'.jpg',
                //'image' => 'http://www.gbart.hu/facebook/megosztos_app/img/winner/winner_'.(int)$round[0].'.jpg',
                'message' => 'http://www.facebook.com/WangMesterKinaiKonyhaja/app_322145727882829',
                'access_token' => $access_token
                );
try {
    $postResult = $facebook->api($post_url, 'post', $msg_body);
}
catch (FacebookApiException $e) {
    echo $e->getMessage();
}

以下是我对该应用的权限: $ fbPermissions ='email,publish_actions,publish_stream,photo_upload,manage_pages';

我有appID,app_secret,access_token参数根据需要(应用程序的其他部分正在运行)。

我收到了一些不同的错误消息,例如无效的相册ID或无效的访问令牌。我解决了这些问题,现在没有任何错误信息,但照片没有出现在任何地方。

在此代码的先前版本中,我尝试将图像发布到页面墙而不是相册,但这产生了一个奇怪的结果:将图像发布到我的用户配置文件的墙上。

1 个答案:

答案 0 :(得分:0)

尝试发布以下内容

$url =    "https://graph.facebook.com/443513955707619/photos?access_token=".$token."&message=hello&url=http://imagetopost.com/hi.jpg&method=post";
$response = file_get_contents($url);