1

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

这是我想要的截图。-->

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

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

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


说说我现在的技能吧。

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

但!Graph API 和 OpenGraph(我用过)从来没有像截图那样产生过这种帖子。我已经尝试过 OpenGraph,但它只是继续在活动源上发布操作,而不是在墙上

我的问题是…… 图形 API 或 OpenGraph 可以制作这种墙贴吗?

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

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

谢谢,

4

4 回答 4

1

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

"fb:explicitly_shared=true"

在此处查看文档

于 2013-09-13T01:11:32.013 回答
0

这都是关于Open Graph的。你所说的动词实际上是动作。您要发布的帖子类型是已发布的操作

这是一个如何开始使用 Open Graph视频。您也可以按照本教程进行操作。这里是如何发布一个动作

最后但并非最不重要的一点是,您会在这里找到大量使用 Open Graph 做好事的技术指南。

于 2013-01-09T17:59:16.380 回答
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

于 2013-01-09T23:16:48.917 回答
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");
    }
于 2013-01-10T14:15:42.483 回答