Facebook getUser возвращает неверный идентификатор - PullRequest
3 голосов
/ 13 декабря 2011

У меня проблема с моим приложением. Единственное, что мне нужно от пользователя - это Facebook ID. После входа в Facebook они перенаправляются обратно в мое приложение, и я могу получить идентификатор пользователя с помощью $ facebook-> getUser (). Это работает хорошо, за исключением случаев, когда пользователь выбрал имя пользователя на Facebook. Затем я получаю действительно странный длинный идентификатор, отличный от идентификатора пользователя.

Для пояснения, скажем, я спрашиваю идентификатор пользователя у пользователя, который не установил имя пользователя, например, я получаю идентификатор: 1234567891. Когда пользователь установил имя пользователя, я получаю идентификатор как: 100002339295322.

Кто-нибудь Мэйби знает, как я могу решить это?

Если вам нужны примеры кода того, как я это делаю, я делаю их, как сказано на сайте разработчиков Facebook: http://developers.facebook.com.

С дружеским приветом, Боб

PS: я использую фреймворк CodeIgniter и официальный фейсбук php sdk

* /// РЕДАКТИРОВАТЬ \ *

Проблема решена. По-видимому, это как-то связано с типом данных, который я использовал для поля. Я изменил его с int на varchar и теперь все работает.

Ответы [ 3 ]

5 голосов
/ 18 декабря 2014

У меня была похожая проблема, и я обнаружил, что после v2.0 API user_id является областью действия приложения.У меня было два user_id для одного и того же профиля пользователя, но другого приложения, и оба действительны для их соответствующего приложения.

Вы можете получить доступ к профилю пользователя с помощью

http://facebook.com/app_scoped_user_id/<USER_ID>

Вы также можете запросить графикAPI, используя токен приложения и идентификатор пользователя в приложении.

Ссылка: https://developers.facebook.com/docs/apps/upgrading/#upgrading_v2_0_user_ids

0 голосов
/ 23 мая 2014

Для тех, кто приедет сюда после 1 мая 2014 года, тестовые приложения по умолчанию используют API v2, что приведет к проблемам, если ваше приложение было создано с использованием v1. Смотрите последнее сообщение в FAQ здесь https://developers.facebook.com/docs/apps/test-apps

0 голосов
/ 13 декабря 2011

Не все пользователи Facebook имеют имена пользователей , но они ВСЕ имеют идентификаторы пользователей .(например, вводить буквенно-цифровое имя пользователя необязательно, просто обеспечивает легкий доступ - facebook.com/johnsmith или что-то в этом роде)

Лучше всего хранить идентификатор (примерно 10-значный номер), и если выхранение имен, возможно, сохраните их имя, как это делает stackoverflow.

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