邀请朋友加入应用程序 - Facebook

时间:2011-06-07 04:06:43

标签: php facebook facebook-graph-api

以前我的这段代码运作良好,但现在它什么也没做 我想显示一个对话框,然后用户可以选择一些朋友并邀请他们使用这个应用程序 现在这段代码显示空白页面。

<?php
include_once "fbmain.php";
if (isset($_REQUEST['ids'])){
echo "Invitation Sent";
    $string = "<script type='text/javascript'>top.location.href='{$fbconfig['appBaseUrl']}';</script>";
    echo $string;
}
else {
?>
 <fb:serverFbml style="width: 500px;">
 <script type="text/fbml">
  <fb:fbml>
      <fb:request-form
                action="<?=$fbconfig['baseUrl']?>/invite.php"
                target="_top"
                method="POST"
                invite="true"
                type= <?php echo $fbconfig['appname']; ?>
                content="I tried this and love this, what about you ? <fb:req-choice url='<?php echo $fbconfig['appBaseUrl']; ?>' label='Accept' />"
                >

                <fb:multi-friend-selector
                showborder="false"
                actiontext=<?php echo $fbconfig['appname' ]; ?>>
    </fb:request-form>
  </fb:fbml>
</script>

5 个答案:

答案 0 :(得分:3)

Facebook已经弃用了这个传统的FBML插件。虽然它可能仍然有效,但您需要升级到新的Requests Dialog,这将更容易获得支持。此外,我注意到其他一些已弃用的功能最近停止工作(但它们还没有被正式杀死),所以情况可能就是这样。但是检查javascript控制台是否有任何错误并发布。

答案 1 :(得分:1)

现在邀请朋友的唯一方法就是使用FB JS 代码

function showInvite()
{
<?php
if (strlen($fbconfig['appname' ])>50)
{
 $title = substr($fbconfig['appname' ],0,45);
 $title = $title . ' ...';
}
else
 $title = $fbconfig['appname' ];

if (strlen($fbconfig['appBaseUrl'])>200)
{
 $message = substr($fbconfig['appBaseUrl'],0,200);
 $message = 'I just love this App, now it\'s your turn to try it @ '.$message;
}
else
 $message ='I just love this App, now it"s your turn to try it @ '.$fbconfig['appBaseUrl'];
?>
 var r = FB.ui({ 
            method : 'apprequests',
            message: '<?php echo $message; ?>',
            title: '<?php echo $title; ?>',
           });
}

答案 2 :(得分:1)

在此页面上试用代码,肯定会有所帮助 https://developers.facebook.com/docs/reference/dialogs/requests/

似乎这就是你要找的东西

<script>
   FB.init({
    appId  : 'APPID',
    });

   FB.ui({method: 'apprequests', message: 'My Great Request'});                       
</script>

答案 3 :(得分:0)

您是否尝试过检查source / html页面?也许有一些错误报告。 您也可以在PHP中调用error_reporting(E_ALL);,这将打印所有错误而不是隐藏。

此外,也许您可​​以检查浏览器JavaScript日志中的错误。

在Internet Explorer 9中按 F12

在Firefox下载firebug。

在Chrome中按 CTRL + SHIFT + J

答案 4 :(得分:-1)

function showInvite() {
    <?php
    if (strlen($fbconfig['appname']) > 50) {
        $title = substr($fbconfig['appname'], 0, 45);
        $title = $title . ' ...';
    } else $title = $fbconfig['appname'];

    if (strlen($fbconfig['appBaseUrl']) > 200) {
        $message = substr($fbconfig['appBaseUrl'], 0, 200);
        $message = 'I just love this App, now it\'s your turn to try it @ ' . $message;
    } else $message = 'I just love this App, now it"s your turn to try it @ ' . $fbconfig['appBaseUrl']; ?>

    var r = FB.ui({
        method: 'apprequests',
        message: '<?php echo $message; ?>',
        title: '<?php echo $title; ?>',
    });
}