web-dev-qa-db-ja.com

Facebook APIでユーザーの場所とユーザーの出身地を取得するにはどうすればよいですか?

私はすでにこのスクリプトを使用していますが、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>

しかし、出身地と場所を取得することはできません。例を挙げてください。

10
siva

間違った権限を使用しています。これを試してください。

{ scope: 'email,user_birthday,user_location,user_hometown' }

もう1つ、故郷にアクセスするには、これを使用します。

var hometown= response.hometown.name;

また、/meの代わりに; fieldsパラメータを使用して、必要なフィールドを明示的に記述します。のように:/me?fields=hometown

グラフAPIエクスプローラー

21
Sahil Mittal