PHP将自定义应用操作发布到时间轴

时间:2012-08-27 12:32:22

标签: php facebook-php-sdk facebook-opengraph

我希望我的网站拥有比目前更好的fb集成。截至目前,我使用以下代码将消息/链接发布到给定用户的时间线。

$attachment = array('message' => 'Predicted the '.ucwords($winning_team_short).' to beat the '.ucwords($losing_team_short).' on '.ordSuffix($new_date_format).'',
            'caption' => 'Sportannica - Online Sports Encyclopedia',
            'name' => 'How will your predictions pan out?',
            'link' => 'http://www.sportannica.com/games/'.$league.'/'.$game.'/predictions',
            'description' => ''.ucwords($winning_team_short).' ('.$winning_score.')  '.ucwords($losing_team_short).' ('.$losing_score.')',
            'picture' => 'http://www.sportannica.com'.$path.''.$winning_team.'.png'
        );

        $facebook->api('/me/feed/', 'post', $attachment);

我想要一个更好的方法...将消息发布到用户的时间线,就像Spotify之类的应用程序一样。

当我转到开放图表仪表板时,我已经定义了几个自定义操作和对象。一个动作是“预测”。我希望这样做,以便消息显示为“”。$ fb_user_name。“已预测”。$ winning_team。“以”。$ game_date。“跳过”。$ losing_team。“”;

我对fb api比较陌生,所以当涉及到这种材料时,我有点迷失。我知道spotify的方法使用自定义操作,所以我知道我正走在正确的道路上。任何人都可以发布一些示例PHP代码,用于发布使用自定义操作和对象到用户时间线的消息的方法吗?

谢谢,

兰斯

1 个答案:

答案 0 :(得分:1)

示例:

在批处理查询中使用php sdk 3.1.1 /,删除了其他查询。

   $queries = array(
        array('method' => 'POST', 'relative_url' => '/me/anotherfeed:view?feed=http://anotherfeed.com/?fbid='.$thepage[id].'')
        // any other api calls needed, this is a batch request for performance.
   );
    try {
 $postResponseA = $facebook->api('?batch='.json_encode($queries), 'POST');
    } catch (FacebookApiException $e) {
  //echo 'AF error: '.$e.'';
  }
  $actions=json_decode($postResponseA[0][body], true);

上面的帖子分为4部分

命名空间 anotherfeed:

行动 view?

对象 feed

网址 http://anotherfeed.com/?fbid='.$thepage[id].'

这会产生“用户查看另一个Feed上的任何Feed”


该操作取决于页面顶部的OG Meta标签以填充操作帖子。

示例标签:

<meta property="og:title" content="SecurityNewsDaily" />    
<meta property="og:description" content="SecurityNewsDaily on Another Feed, Feeding on the best of Facebook, one page at a time." />
<meta property="og:type" content="anotherfeed:feed" />
<meta property="og:image" content="https://graph.facebook.com/146893188679657/picture?type=large" />
<meta property="og:site_name" content="AnotherFeed" />
<meta property="fb:app_id" content="135669679827333" />
<meta property="fb:admins" content="732484576" />
<meta property="og:url" content="http://anotherfeed.com/index.php?fbid=146893188679657" />
<meta property="og:restrictions:age" content="13+"/>