Facebook:如何使用自定义'动词'发布/发布到墙上?

时间:2013-01-09 16:53:28

标签: facebook facebook-graph-api opengraph

首先,让我们看看我想做什么。

以下是我想要的截图。 - >

根据屏幕截图,我想制作这种自定义墙贴,其中显示了一个自定义动词,如“签到”,“观看”,“倾听”等。

此外,我想自定义内容和消息的样式,例如'30其他人在myApp上观看了xxx。

另一件事是在底部的Like链接之外制作应用程序图标。


让我们谈谈我目前的技能。

目前,我已经自学了Graph API和Open Graph。我可以创建一个应用程序来发布到墙上,并能够使用opengraph发布动作。

但是! Graph API和OpenGraph(我用过)从未像截图那样制作过这样的帖子。我已经尝试过OpenGraph,但它只是继续发布活动提要而不是在墙上

我的问题是...... 图API或OpenGraph可以生成这种墙贴吗?

如果是,我应该如何修改API的请求?

如果没有,我必须学习哪种API来制作这种墙贴?

谢谢,

4 个答案:

答案 0 :(得分:1)

仅针对查看此问题的其他人,您需要将显式共享设置为true

"fb:explicitly_shared=true"

查看this

上的文档

答案 1 :(得分:0)

关于Open Graph的全部内容。您所谓的动词实际上是actions。您要发布的帖子种类是已发布的操作

这是一段How To Get Started With Open Graph视频。您也可以关注this tutorial。这是how to publish an action

最后但并非最不重要的是,您可以在这里a plethora of technical guides找到使用Open Graph做的好事。

答案 2 :(得分:0)

Facebook允许您为帖子添加一个自定义操作。这是一个例子:

$attachment = array
 (
 'access_token'=>$facebook->getAccessToken(),
 'message' => 'I\'ve been testing my IQ!',
 'name' => 'IC-YOUR-IQ',
 'caption' => 'This is my result:',
 'link' => 'http://apps.facebook.com/icyouriq/',
 'actions' => array('name'=>'Sweet FA','link'=>'http://www.facebookanswers.co.uk'),
 'description' => $cmsg,
 'picture' => 'http://www.facebookanswers.co.uk/img/misc/iq.jpg'
 );

关键字段是“操作”字段。这需要一个由两个元素组成的数组; “名称”和“链接”。

您可能想尝试向该数组添加更多元素,但它不起作用。您只能有一个自定义操作。

我在这里写了博客,如果你想再读一些:http://facebookanswers.co.uk/?p=270

答案 3 :(得分:0)

以下是我用来发布到我的墙上的代码

if (isset($_GET['publish'])){
        try {
            //$publishStream = $facebook->api("/$user/feed", 'post', array(
            $publishStream = $facebook->api("/me/feed", 'post', array(
                'message' => "I love thinkdiff.net for facebook app development tutorials. :)", 
                'link'    => 'http://ithinkdiff.net',
                'picture' => 'http://thinkdiff.net/ithinkdiff.png',
                'name'    => 'iOS Apps & Games',
                'caption' => 'This is my result:',
                'actions' => array('name'=>'Sweet FA','link'=>'http://www.facebookanswers.co.uk'),
                'description'=> 'Checkout iOS apps and games from iThinkdiff.net. I found some of them are just awesome!'
                )
            );
            //as $_GET['publish'] is set so remove it by redirecting user to the base url 
        } catch (FacebookApiException $e) {
            d($e);
        }
        //$redirectUrl     = $fbconfig['baseurl'] . '/index.php?success=1';
        $redirectUrl     = $fbconfig['baseurl'] . '?success=1';
        header("Location: $redirectUrl");
    }