首先,让我们看看我想做什么。
以下是我想要的截图。 - >
根据屏幕截图,我想制作这种自定义墙贴,其中显示了一个自定义动词,如“签到”,“观看”,“倾听”等。
此外,我想自定义内容和消息的样式,例如'30其他人在myApp上观看了xxx。
另一件事是在底部的Like链接之外制作应用程序图标。
让我们谈谈我目前的技能。
目前,我已经自学了Graph API和Open Graph。我可以创建一个应用程序来发布到墙上,并能够使用opengraph发布动作。
但是! Graph API和OpenGraph(我用过)从未像截图那样制作过这样的帖子。我已经尝试过OpenGraph,但它只是继续发布活动提要而不是在墙上。
我的问题是...... 图API或OpenGraph可以生成这种墙贴吗?
如果是,我应该如何修改API的请求?
如果没有,我必须学习哪种API来制作这种墙贴?
谢谢,
答案 0 :(得分:1)
答案 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");
}