在页面时间轴上传Facebook照片(PHP)

时间:2013-02-14 18:25:14

标签: php facebook

我的网站上有一个图片缓存,我需要每天4-5次将这些照片上传到我的Facebook粉丝页面。我的代码会创建一个相册并将照片上传到相册,但这些照片不会显示在时间轴中。

所以我的问题是,如何将照片上传到我的粉丝页面,以便它们出现在时间轴上,在墙上。正在使用的语言是PHP

非常感谢任何帮助。

由于

编辑1: 这是代码:

<?php   
require 'facebook.php';
$facebook = new Facebook(array(
    'appId'  => "AAAAAAAAAA",
    'secret' => "BBBBBBBBBB",
));

$fanpage_token = "ZZZZZZZZZZZZZZZZZZZZZZZZZZ";

$facebook->setFileUploadSupport(true);

//Create an album
$album_details = array(
        'message'=> 'test album',
        'name'=> 'album'
);
$create_album = $facebook->api('/PAGE_ID/albums', 'post', $album_details);

$album_uid = $create_album['id'];

echo $album_uid;

 $img = '7newx.jpg';
  $args = array(
   'message' => 'Random message',
   'image' => '@' . $img,
   'aid' => $album_uid,
   'no_story' => 1,
   'access_token' => $fanpage_token
  );

  $photo = $facebook->api($album_uid . '/photos', 'post', $args);

?>

1 个答案:

答案 0 :(得分:5)

好的,所以我猜您尝试删除no_story,发现它不会影响时间轴。这也是我发现的。

你要做的就是发一篇文章,但这一次,作为一个链接。你需要使用你的第一篇文章中返回的数组$ photo。如果您检查到它应该看到它有一个名为['id']的元素,其中包含您上传的照片的ID。

您需要将其转换为Facebook用于显示的链接。这很简单。

if (isset($photo['id']))
{
$message = "My latest photo";
$link = "https://www.facebook.com/photo.php?fbid=".$photo['id'];
$attachment = array
(
'access_token'=>$fanPageAccessToken,
'type' => 'photo',
'message' => $message,
'link' => $link 
);

$result = $facebook->api($fanPageId.'/links/','post',$attachment);
}

我假设您可以找出$ fanPageAccessToken和$ fanPageId的内容。

如果你这样做,你应该得到你想要的东西。