基于用户区域设置的Facebook应用内容


Facebook App content based on user locale

我开发了一个使用2种语言的facebook应用程序。法国,荷兰人。(重点是荷兰语,荷兰语比利时和法语比利时)。

当我把一个测试帐户设置为法语时,它仍然显示为荷兰语。

应用程序的代码是

<?php
require 'facebook.php';
$app_id = "xxx";
$app_secret = "xxx";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));

$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
$languageFR = $signed_request["user"]["fr_FR"];
if ($like_status) {
    if ($languageFR) {  
        include("fans_french.php");
    }
    else {  
        include("fans_dutch.php");
    }
}
else {
    if ($languageFR) {  
        include("nonfans_french.php");
    }
    else {  
        include("nonfans_dutch.php");
    }
}
?>

谁来帮我?

试试

<?php
require 'facebook.php';
$app_id = "xxx";
$app_secret = "xxx";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true
));

$signed_request = $facebook->getSignedRequest();
$page_id = $signed_request["page"]["id"];
$page_admin = $signed_request["page"]["admin"];
$like_status = $signed_request["page"]["liked"];
$country = $signed_request["user"]["country"];
$locale = $signed_request["user"]["locale"];
if ($like_status) {
    if ($locale == "fr_FR") {  
        include("fans_french.php");
    }
    else {  
        include("fans_dutch.php");
    }
}
else {
    if ($locale == "fr_FR") {  
        include("nonfans_french.php");
    }
    else {  
        include("nonfans_dutch.php");
    }
}
?>

签名请求中没有$signed_request["user"]["fr_FR"]字段,请参阅https://developers.facebook.com/docs/reference/login/signed-request/