2010-07-12 76 views
0

我正在將我的Facebook畫布應用程序遷移到使用新的PHP SDK。不過,我在獲取JavaScript SDK時也遇到了問題。獲取FB JS SDK在FB畫布應用程序上工作的問題

我想在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畫布應用程序中使用新的JavaScript SDK嗎?還是保留給iFrame應用程序和僅在網站上使用Facebook Connect?

回答

0

我使用下面的解決了這個問題:

<?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> 

感謝所有的回答。

+0

我想弄清楚如何從我的應用程序發佈到我的應用程序的牆上(即來自該網站的事件將發佈牆貼)。你知道怎麼做嗎?你也可以在你的Javascript代碼中引用Facebook.streamPublish。你如何通過它訪問Facebook? – webdad3 2010-07-15 20:27:03

+0

我不知道我如何訪問上面腳本中的'Facebook'對象,但它似乎對我很有用。至於發佈到你的應用程序牆,你的意思是你的應用程序的個人資料頁? – 2010-07-16 01:16:34

0

對不起,您不能在FBML畫布應用程序中使用JavaScript SDK甚至純JavaScript。 Facebook創建了自己的替代品,名爲FBJS,功能有限(出於安全原因)。因此,在畫布應用程序中,您只能使用PHP SDK,FBML和FBJS。爲了在牆上發佈,您可能需要使用PHP SDK。