как получать электронную почту пользователя при входе в систему через Facebook на моем веб-сайте [дубликат]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
28
задан Igy 13 October 2015 в 05:10
поделиться

2 ответа

Вам нужно вручную указать каждое поле, поскольку Graph API v2.4:

Декларативные поля Чтобы повысить производительность в мобильных сетях, Nodes и Edges в версии 2.4 требуют, чтобы вы явно запрашивали поля, которые вам нужны для ваших запросов GET. Например, GET /v2.4/me/feed больше не включает в себя предпочтения и комментарии по умолчанию, но GET /v2.4/me/feed?fields=comments-likes вернет данные. Для получения дополнительной информации см. Документы о том, как запрашивать определенные поля.

Например:

FB.api('/me', 'get', { access_token: token, fields: 'id,name,gender' }, function(response) {
    console.log(response);
});
53
ответ дан Stephen Oberauer 17 August 2018 в 16:57
поделиться
  • 1
    Вы можете отредактировать ответ, чтобы активировать уведомление о таких проблемах, как developers.facebook.com/settings/developer/contact – Thellimist 16 September 2015 в 16:00
  • 2
    Ну, facebook не обновлял логин-пример на сайте разработчика и тратил меня на несколько дней. :) – Dave 16 January 2017 в 23:00
  • 3
    как отправить многоуровневые поля, например, в feed api, я хочу из области действия и из я хочу, чтобы изображение пользователя должно было появиться? – suresh pareek 27 April 2017 в 08:02
  • 4
    Приняли несколько дней, чтобы понять, что один из них. Я унаследовал устаревший код, используя Graph API v2.1, который внезапно сломался, когда FB остановил его поддержку 10 июля 2017 года. Не удалось найти, что нужно обновить, используя Инструмент обновления API, потому что они удалили из него v2.3 и ниже. – Georges Brisset 25 July 2017 в 13:32
  • 5
    Как я могу получить объект фотоальбома с помощью новой явной версии из URL-адреса, подобного этому: graph.facebook.com {album_id} / photos? Access_token = {app_id} | {app_secret} – Kirk Ross 31 July 2017 в 16:26

Также можно использовать этот синтаксис для данных из области public_profile (проверен в Graph API v2.9):

FB.api('/me?fields=birthday,link,gender,age_range', function(response) {
   console.log(response);
});

Вы можете проверить возможные значения онлайн в Graph API Explorer, просто нажмите кнопку «Получить токен»:

https://developers.facebook.com/tools/explorer/?method=GET&path=me%3Ffields%3Dbirthday%2Clink%2Cgender%2Cage_range& ; версия = v2.9

2
ответ дан NXT 17 August 2018 в 16:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: