2011-03-20 36 views
0

我正在制作Facebook应用程序,一切似乎都完成了。 这里是样品流(的index.php):facebook应用程序,完成状态更新功能后邀请好友

  1. seekpermission.php

  2. processinfo.php

  3. generateresult.php

  4. poststatus.php(javascript的方式如文档中所述)

  5. invitefriends.php(javascript wa y如在文档中所述)

希望名称不言自明。 麻烦的是更新状态的对话并邀请朋友几乎平行地来,但我想要的是一旦用户发布/跳过状态消息只有邀请朋友的对话应该来。这是我的尝试,但它不工作,请帮助谢谢!

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> 
+0

这应该工作。我以前用过这个。也许问题在于导入php文件后代码的外观。你可以发布php文件的内容吗? – 2011-03-20 06:44:48

回答

0

嗯,这是完成一个简单的任务奇怪的是:
您可以将第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'; 

重要提示:
最有可能ALL你的5个步骤可以组合在ONE文件中,这是因为:

  1. 你不需要l并初始化JS库FIVE次!
  2. 将是一个更好的用户体验而不是每次加载
  3. 您可以将所有Facebook调用包装在JS函数中,只需在前一个函数中调用每个调用即可!
+0

thnx我想要回复我实现它的工作,但我再次陷入困境,这次是因为如果弹出在浏览器中被阻止,状态更新弹出对话框不起作用。你有没有办法解决它。请帮助,它的最后一步! – 2011-03-21 21:40:50

+0

@RahulSharma:“FB.ui”首先被认为是“弹出式”吗?!如果可能的话,我建议你问截图的其他问题。 – ifaour 2011-03-21 22:19:58

+0

在这里你去:http://stackoverflow.com/questions/5387381/facebook-application-dialogue-to-publish-on-users-wall-using-javascript-api-p – 2011-03-22 19:03:16

相关问题