Невозможно получить день рождения пользователя через Facebook - PullRequest
3 голосов
/ 05 мая 2010

Я пытался получить день рождения пользователя Facebook через Facebook Connect, но мне не удалось это сделать. Тот же код работал ранее и до сих пор работает на других сайтах, созданных ранее (старых), но, похоже, снова не работает. Вот код:

require_once ('./connect/facebook.php');

$facebook = new Facebook("myapi", "mysecret");
$fbuser = $facebook->get_loggedin_user();

if ($fbuser)
{
    $_SESSION['custid'] = $fbuser;

    $fb_look_fields = array(
                            'name', 
                            'first_name', 
                            'last_name', 
                            'name', 
                            'timezone', 
                            'name', 
                            'sex', 
                            'birthday',
                            'birthday_date',
                            'current_location', 
                            'proxied_email',
                            'affiliations'
                            );

    try
    {
        $user_data = $facebook->api_client->users_getInfo($fbuser, $fb_look_fields);
    }
    catch (Exception $e)
    {
         echo $e->getMessage();
    }

    # for birth date
    $fb_birthday = $user_data[0]['birthday'];

    if (!$fb_birthday)
    {
        $fql_result_xml = $facebook->api_client->fql_query("SELECT birthday FROM standard_user_info WHERE uid = " . $fbuser);
        $fb_birthday = $fql_result_xml['birthday'];
    }

    echo $fb_birthday;

День рождения всегда пуст, хотя я установил его на , видимый всем .

  • Я использую новый PHP-клиент Facebook
  • Я даже пытался получить информацию из стандартной таблицы, но безуспешно

Facebook снова изменил свои API / Политику? Или что я пропускаю / не правильно делаю там в коде?

Ответы [ 3 ]

2 голосов
/ 13 мая 2010

Facebook в настоящее время сделал день рождения в качестве расширенного разрешения. Вы разрешили день рождения продлен? Пока пользователь не подтвердит расширенное разрешение на день рождения, вы не сможете получить его день рождения.

2 голосов
/ 05 мая 2010

Они изменили вещи (снова). Когда вы создаете кнопку «Войти» для Connect, вы можете запросить разрешение на день рождения, например:

В документации сказано: «Как только пользователь авторизует ваш сайт, вы можете извлечь эти поля из профиля пользователя ...»

http://developers.facebook.com/docs/guides/web#login

1 голос
/ 08 ноября 2011

Мне удалось запросить standard_user_info таблицу через автономный access_token. Но я не могу найти документацию для формата даты. Дата, которую я получаю, похожа на «4 марта 1999 года».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...