facebook应用程序,完成状态更新功能后邀请好友

时间:2011-03-20 06:37:00

标签: facebook event-handling facebook-javascript-sdk

我正在制作一个Facebook应用程序,一切似乎都已完成。 这是示例流程(index.php):

  1. seekpermission.php

  2. processinfo.php

  3. generateresult.php

  4. poststatus.php(文档中说明的javascript方式)

  5. invitefriends.php(文档中说明的javascript方式)

  6. 希望这些名字不言自明。 问题是对话更新状态和邀请朋友几乎是平行的,但我想要的是一旦用户发布/跳过状态消息,那么应该邀请朋友的对话来。这是我尝试但它不起作用,请帮助谢谢!

     FB.ui(
        {
            method: 'feed',
            name: 'name goes here',
            link: 'http://apps.facebook.com/****/',
            picture: '<?php echo $imageurl; ?>',
            caption: 'here is caption',
            description: 'the description',
            message: '<?php echo $charecter; ?>'
        },
        function(response) {
        if (response && response.post_id) {
        alert('<?php include "invitefriends.php"; ?>');
    
        } else {
    
        alert('<?php include "invitefriends.php"; ?>');
    
     }
    

    这是invitefriends.php

    <body>
       <div id="fb-root"></div>
       <script src="http://connect.facebook.net/en_US/all.js">
       </script>
       <script>
         FB.init({ 
           appId:'2****', cookie:true, 
           status:true, xfbml:true 
         });
    
         FB.ui({ method: 'apprequests', 
           message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
       </script>
       </body>
    

1 个答案:

答案 0 :(得分:0)

嗯,这是完成一项简单任务的奇怪方法:
你可以结合第4步和第4步5步一步:

FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
        FB.ui({ method: 'apprequests', 
        message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
        /* if (response && response.post_id) {
            alert('<?php include "invitefriends.php"; ?>');

        } else {

            alert('<?php include "invitefriends.php"; ?>');

        } */
    }
)

你可以看到不需要if else,因为你无论如何都会强迫邀请!

现在,如果你真的需要使用你的方法,那么你可以使用类似的东西(在response中:

location.href='<?php echo 'path/to/invitefriends.php';

重要提示:
很可能所有你的5个步骤可以合并到 ONE 文件中,这样更好,因为:

  1. 您无需加载和初始化JS库五次次!
  2. 将是更好的用户体验,而不是每次加载
  3. 您可以将所有Facebook调用包装在JS函数中,并在前一个函数的响应中调用每个函数!