私はすでにこのスクリプトを使用していますが、APIを使用しても出身地と場所を取得できませんでした。出身地と場所はundefined
メッセージが表示されます。サンプルコードとFacebookAPIでユーザーの携帯電話番号を取得する方法を教えてください。
function login() {
FB.login(function(response) {
if (response.authResponse) {
// connected
testAPI();
} else {
// cancelled
}
}, { scope: 'email,user_birthday,user_location,user_hometown' });
}
function testAPI() {
console.log('Welcome! Fetching your information.... ');
FB.api('/me', function(response) {
console.log('Good to see you, ' + response.name + '.' + ' Email: ' + response.email + ' Facebook ID: ' + response.id);
//console.log('Good to see you, ' + response.name + '.');
var userfirstName=response.first_name;
var lastName=response.last_name;
var useremail=response.email;
var usersex=response.gender;
var userbithday=response.birthday;
var hometown= response.hometown.name;
var location= response.location.name;
alert(hometown);
});
}
<fb:login-button show-faces="false" width="200" max-rows="1" scope="email,user_birthday,user_location,user_hometown" onclick="testAPI();" onlogin="Log.info('onlogin callback')">
Sign Up with Facebook
</fb:login-button>
しかし、出身地と場所を取得することはできません。例を挙げてください。
間違った権限を使用しています。これを試してください。
{ scope: 'email,user_birthday,user_location,user_hometown' }
もう1つ、故郷にアクセスするには、これを使用します。
var hometown= response.hometown.name;
また、/me
の代わりに; fields
パラメータを使用して、必要なフィールドを明示的に記述します。のように:/me?fields=hometown