2014-11-19 3 views
2

Я попытался установить мою стратегию, чтобы получить дом пользователя двумя способами, и ни одна из них не работает. Кто-нибудь имеет код для PassportJS, чтобы получить адрес пользователя (только город и штат)?PassportJS, чтобы получить Facebook Пользовательское местоположение

Стратегия пытается как "местоположение" и "адрес":

profileFields: ['id', 'name','picture.type(large)', 'emails', 'displayName', 'location', 'address', 'about', 'gender'], 

Попытка получить, используя адрес, как показано здесь portablecontacts.net:

user.facebook.location = profile.address.locality + ', ' profile.address.region; 

ответ

0

Редактировать: Simpler ответ

Те поля местоположение еще не отображены в коде из схемы портативных контактов в собственную схему Facebook. Вы можете увидеть эту карту here (и отсутствие этих двух полей).

Вместо этого просто используйте схему Facebook напрямую. Таким образом, массив profileFields должен включать в себя location поле, то при вызове аутентификации, вы должны запросить это поле из Facebook:

passport.authenticate('facebook', { scope: ['email', 'public_profile', 'user_location'] })); 

Обратите внимание, что в массиве области видимости, он упоминается как user_location, но в массиве profileFields это всего лишь location

Смежные вопросы