Здравствуйте, коллеги-разработчики.
В течение последних нескольких недель я боролся со следующим.
Я хочу аутентифицировать зарегистрированного пользователя с помощью FB, URL его профиля.
Simple.Но получить его автоматически невозможно.
Когда пользователь входит в систему, генерируется FBID, при использовании https://www.facebook.com/?profile_id=xxxxxxxxxxxxxxx он перенаправляется в профиль пользователя, https://www.facebook.com/username - Tada!Точность данных составляет 100%.
Я пытался получить это имя пользователя FB, но через граф не допускается без разрешения, которое просто работает как profile_id - это не фактическое имя пользователя.Я полагаю, что со всем Кембриджским материалом это было удалено.
Моя следующая задача была попытка сделать запрос CURL - я написал функцию, которая получает последний URL перенаправления.Это не удается из-за того, что Facebook отвечает как «неподдерживаемый браузер».
Я попытался передать различные типы заголовков (User Agent, Canonical, SSL), но ни один из них не работает.Точность данных снижена практически до 0%.
Мой последний вариант заключался в том, чтобы использовать плагин комментариев в плагине комментариев - прямо рядом с текстовой областью, я вижу ссылку на свой профиль - именно так, как я хочуЭто.То, что я пытался сделать, это получить источник iframe и посмотреть, где отображается имя пользователя FB, и передать его обратно в мою базу данных.Я бы тогда сопоставил FBID с этим, и у меня есть то, что я хочу.Точность данных с помощью этого метода будет где-то в диапазоне 75% / 80%.
Но это тоже не сработало.Несколько причин: 1 - FB Iframe, похоже, не поддерживает постоянную привязку класса к элементам - поэтому я боюсь, что это не продлится долго.2 - у самого iframe нет идентификатора, чтобы иметь Javascript console.log, по крайней мере, содержимое.3- время очень нерегулярное, хотя это не является реальной проблемой, поскольку я мог бы запустить функцию тайм-аута, скажем, через 10 секунд после входа пользователя в систему, но я имею в виду следующее: сначала мне нужно получить FBID, чтобысопоставьте его с именем пользователя FB.Это не стабильный, а довольно хрупкий способ.Точность данных снижена до 50% и менее стабильна.
Так что я застрял, я не знаю, как я мог бы сопоставить FBID с именем пользователя без графика FB.
Мой очень очень оченьПоследний вариант - это поле для комментариев, в котором пользователю необходимо ввести уникальный код, сгенерированный для него / нее, - тогда это сообщение будет получено, а затем я проверю его вручную, будет проверена учетная запись.
Но этобыло бы болезненно для разработчиков, я хочу, чтобы это делалось автоматически.Я чувствую, что есть выход, но я застрял.
Кто-нибудь осмелится подсказать, как мне этого добиться?Даже если это далеко не так (даже если это происходит с планеты Canto Bight) ....
* Я кланяюсь * Я говорю спасибо!