[英]Problem getting FB JS SDK to work on FB canvas app
我正在将我的Facebook canvas应用程序迁移到使用新的PHP SDK。 但是,我也无法使JavaScript SDK正常工作。
我想利用JavaScript SDK中的stream.publish
之类的方法。 不幸的是,到目前为止,我还无法使任何事情起作用。 我的应用程序的index.php
文件的标题中包含以下内容:
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_GB/all.js"></script>
<script>
FB.init({appId: *);
FB.ui({
method: 'stream.publish',
message: 'Check out this great app!'
});
</script>
由于明显的原因,我的应用程序ID已被删除。
我希望上面的内容能给用户提示将消息发布到其流的地方,但事实并非如此。 我什至可以在Facebook canvas应用程序中使用新的JavaScript SDK吗? 还是只为iFrame应用程序保留并仅在网站上使用Facebook Connect?
抱歉,您不能在FBML canvas应用程序中使用JavaScript SDK甚至纯JavaScript。 Facebook出于功能有限(出于安全原因)创建了自己的JavaScript替代品FBJS 。 因此,在canvas应用中,您只能使用PHP SDK,FBML和FBJS。 为了在墙上发布,您可能需要使用PHP SDK。
确保正在构建IFrame Canvas应用程序,而不是FBML应用程序。 JavaScript SDK仅适用于IFrame。 这是在Canvas上stream.publish的示例: http : //apps.facebook.com/fbrelll/fb.ui/stream.publish
我已经使用以下方法解决了它:
<?php
$attachment = array(
'name' => 'Attachment name here',
'href' => 'Attachment URL here',
'media' => array(array(
'type' => 'image',
'src' => 'Image URL here',
'href' => 'Link URL here',
)),
'caption' => 'Caption here',
);
$action_links = array(array(
'text' => 'Action link text',
'href' => 'Action link href',
));
?>
<script type="text/javascript">
<!--
var message = "Your status update here...";
var attachment = <?php echo json_encode($attachment); ?>;
var action_links = <?php echo json_encode($action_links); ?>;
Facebook.streamPublish(message, attachment, action_links);
//-->
</script>
感谢所有回答。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.