从另一个文件显示配置文件框中的内容

时间:2010-04-14 19:01:44

标签: php facebook fbml

我被困在这个facebook应用程序中,不知道我该怎么做。

对于画布,该应用程序非常完美。我有两页,quote.html和quote.php。在quote.html中,quote.php [从数据库中获取引号]是通过ajax调用的,它随机显示一个引用,持续10秒。

然而,对于墙壁标签/配置文件框,我似乎无法知道我哪里出错了。我创建了一个名为'profile_box.php'的页面,为引号调用quote.php,setFBML。虽然这适用于画布[没有时间],但它不会在墙上标签上显示任何内容。

<?php

include 'quote.php';


$row = mysql_fetch_array($result, MYSQL_ASSOC);
if ( !$row ) {
  echo "Empty";
}
else{

$fb_box = "<p>" . h($row['cArabic']) . "</p>";
$fb_box .= "<p>" . h($row['cQuotes']) . "</p>";
$fb_box .= "<p>" . h($row['vAuthor']) . "</p>";
$fb_box .= "<p>" . h($row['vReference']) . "</p>";
}

try{

    $url="http://website/name/quote.html";
    $facebook->api_client->fbml_refreshRefUrl($url);

    $fbml = "<fb:ref  url='$url'/>";

    if(isset($_REQUEST['fb_sig_page_id'])){
        $page_id = $_REQUEST['fb_sig_page_id'];
        $profile_type = $_REQUEST['fb_sig_type'];
        $facebook->api_client->profile_setFBML($appapikey, $page_id, "$fbml", NULL, NULL, "$fb_box");
    }
    else {
        $is_tab = isset($_REQUEST['fb_sig_in_profile_tab']);
        if( !$is_tab ) $user_id = $facebook->require_login();
        $result = $facebook->api_client->profile_setFBML($appapikey, $user_id, "$fbml", NULL, NULL, "$fb_box");
    }
}
catch(Exception $ex){
    echo 'Caught exception: ',  $ex->getMessage(), "\n";
}


echo "<fb:add-section-button section=\"profile\" /><br />";

?>

任何人都可以提出任何指示吗?

1 个答案:

答案 0 :(得分:0)

我讨厌成为坏消息的承载者,但是配置文件框和盒子标签are gone

他们正在被Application Tabs取代。

换句话说,您将无法再在用户的个人资料中显示自定义内容。这一切都必须进入特定于应用程序的选项卡。