我想知道当用户有权访问我的应用数据(标题和说明)时,如何使用用户区域设置获取本地化值。
我的代码是:
var imageUrl = "http://mysite.test/webroot/img/test_image.jpg",
userID = response.authResponse.userID,
userLanguage,
appTitle,
appDescription;
if (response.status === 'connected') {
FB.api(
"/" + userID,
function (response) {
if (response && !response.error) {
userLanguage = response.locale;
}
}
);
FB.api(
'me/{namespace}:{action}', 'post',
{
object: {
"url": imageUrl,
"title": appTitle,
"description": appDescription,
"image": imageUrl
}
},
function(response) {
}
);
} else if (response.status === 'not_authorized') {
FB.login( function( response ) {
}, {scope: "publish_actions"} );
} else {
FB.login( function( response ) {
}, {scope: "public_profile"} );
}
我尝试使用此代码,但/me
节点返回用户数据,我想获取应用数据:
FB.api(
"/me",
function (response) {
if (response && !response.error) {
/* handle the result */
}
}
);
答案 0 :(得分:1)
您可以使用
获取用户的区域设置/me?fields=id,locale
然后您可以在第二次应用调用中使用此locale
:
/{app_id}?fields=id,name,description&locale={locale}
应该有效。您需要知道应用ID并将{app_id}
替换为它。 locale
参数定义了您要在其中接收数据的区域设置。
请注意,它并不一定满足每个可用的语言环境......
可以在https://www.facebook.com/translations/FacebookLocales.xml
找到语言环境列表见