У меня есть список идентификаторов FB, есть ли канонический способ создания их URL-адресов FB без запроса графа?
Например, у меня есть идентификаторы 3, 4, 5, и мне нужен URL-адрес Facebook для них без использования api графика и сохранить их
У меня есть список идентификаторов FB, есть ли канонический способ создания их URL-адресов FB без запроса графа?
Например, у меня есть идентификаторы 3, 4, 5, и мне нужен URL-адрес Facebook для них без использования api графика и сохранить их
Ответы:
ОБНОВЛЕНИЕ 2: эта информация больше не предоставляется facebook. Есть официальное объявление об изменении поведения ( https://developers.facebook.com/blog/post/2018/04/19/facebook-login-changes-address-abuse/ ), но нет альтернативы.
Да, просто используйте эту ссылку и добавьте свой идентификатор в id
параметр:
https://facebook.com/profile.php?id=<UID>
Так например:
https://facebook.com/profile.php?id=4
Автоматически перенаправит вас https://www.facebook.com/zuck
в профиль Марка Цукерберга.
Если вы хотите сделать это для всех своих идентификаторов, вы можете сделать это с помощью цикла.
Если хотите, я могу предоставить вам отрывок.
ОБНОВЛЕНИЕ: Кроме того, вы также можете сделать это:
https://facebook.com/<UID>
Это будет: https://facebook.com/4, который автоматически перенаправит на Zuck!
https://facebook.com/<UID>
используя это, и он продолжает перенаправлять меня на мою домашнюю страницу
Принятый ответ у меня не сработал, вот это:
https://www.facebook.com/app_scoped_user_id/10152384781676191
Самый простой и самый правильный (и законный) способ - использовать graph api.
Просто выполните запрос: http://graph.facebook.com/4
который возвращается
{
"id": "4",
"name": "Mark Zuckerberg",
"first_name": "Mark",
"last_name": "Zuckerberg",
"link": "http://www.facebook.com/zuck",
"username": "zuck",
"gender": "male",
"locale": "en_US"
}
и возьми link
ключ.
Вы также можете уменьшить трафик, используя fields
параметр: http://graph.facebook.com/4?fields=link, чтобы получить только то, что вам нужно:
{
"link": "http://www.facebook.com/zuck",
"id": "4"
}
access_token
и не работает https
. Пример:https://graph.facebook.com/4?access_token=YOUR_YOKEN
fields=link
запрос по URL-адресуhttps://graph.facebook.com/<ID>?fields=link&access_token=<ACCESS_TOKEN>
Отмеченный ответ кажется устаревшим и работать не будет.
Facebook теперь выдает только уникальный идентификатор, связанный с приложением, который не равен userId и profileUrl, а имя пользователя будет пустым.
Выполнение me?fields=id,name,links
также обесценивается после Graph Version 2.4.
Единственный вариант сейчас - запросить разрешение user_links из консоли разработчика.
и передать его в область действия при входе в facebook
scope: ['user_link'] }
или выполнив вызов API
На данный момент (Ноябрь-2019) , graph.api V5.0
Граф API говорит, обратитесь к графу api
Ссылка на хронологию человека. Ссылка разрешится только в том случае, если человек, щелкнувший ссылку, вошел в Facebook и является другом человека, чей профиль просматривается.
Я собрал информацию вместе:
user_link
, см. https://developers.facebook.com/docs/facebook-login/permissions/link
(например, https://graph.facebook.com/me?fields=link,name,email )link
от ответа. Будьте в курсе поля длина- в моем случае это 202: https://www.facebook.com/app_scoped_user_id/YXNpZADpBWEd0SlhFZAElYa3BQT3U3Tm4xWVRLSlJfYUdUM3Y4YmIwQjBaRkM0VDBMNURQdUhhYk5NRDJoR1ZA5ZA1JOdGNwampsSTQyMDQwbW93bkp0dnZAmOXg3NTFISFVZAQlRscWQ5eEZAvcU4xZAC1B/И наконец: это не работает без дополнительной проверки разрешений Facebook :(