Я не могу понять, как получить доступ к данным всего, что возвращает объект с типом "страница" (родной город или местоположение). Я прочитал еще один вопрос о том, что мне нужно использовать нотацию '->' для доступа к определенным частям объекта, но это, похоже, не работает. Любая помощь будет замечательной!
$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>
Вместо
$user_profile['hometown']->name
$user_profile['location']->name
Use-
$user_profile['hometown']['name']
$user_profile['location']['name']