我开发了一个使用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/