Как я могу получить имя (строку) местоположения пользователей, используя api facebook graph?

0

Я не могу понять, как получить доступ к данным всего, что возвращает объект с типом "страница" (родной город или местоположение). Я прочитал еще один вопрос о том, что мне нужно использовать нотацию '->' для доступа к определенным частям объекта, но это, похоже, не работает. Любая помощь будет замечательной!

  $config = array(
    'appId' => '##############',
    'secret' => '#########################',
    'allowSignedRequest' => false // optional but should be set to false for non-canvas apps
  );

  $facebook = new Facebook($config);
  $user_id = $facebook->getUser();
?>
<html>
  <head></head>
  <body>

  <?php
    if($user_id) {
      try {

        $user_profile = $facebook->api('/me','GET');
        echo "Name: " . $user_profile['name'] . "<br />";
        echo "Gender: : "  . $user_profile['gender'] . "<br />";
        echo "Birthday: " . $user_profile['birthday']. "<br />";
        echo "Religion: " . $user_profile['religion']. "<br />";
        echo "Hometown: " . $user_profile['hometown']->name. "<br />";
        echo "Location: " . $user_profile['location']->name. "<br />";

  } catch(FacebookApiException $e) {
    // If the user is logged out, you can have a 
    // user ID even though the access token is invalid.
    // In this case, we'll get an exception, so we'll
    // just ask the user to login again here.
    $login_url = $facebook->getLoginUrl(array("scope" => "user_religion_politics,user_birthday"));
    echo 'Please <a href="' . $login_url . '">login.</a>';
    error_log($e->getType());
    error_log($e->getMessage());
  }   
} else {

  // No user, print a link for the user to login
  $login_url = $facebook->getLoginUrl(array("scope" => "user_religion_politics,user_birthday,user_hometown,user_location"));
  echo 'Please <a href="' . $login_url . '">login.</a>';

}

?>

   </body>
</html>
Теги:
facebook
facebook-graph-api
facebook-php-sdk

1 ответ

0
Лучший ответ

Вместо

$user_profile['hometown']->name
$user_profile['location']->name

Use-

$user_profile['hometown']['name']
$user_profile['location']['name']
  • 0
    Огромное спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню