У мене є список ідентифікаторів 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
Найпростіший і правильний (і законний) спосіб - використовувати графічний 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
запит on urlhttps://graph.facebook.com/<ID>?fields=link&access_token=<ACCESS_TOKEN>
На сьогодні (NOV-2019) , graph.api V5.0
графічний API каже, зверніться до графічного API
Посилання на часову шкалу людини. Посилання буде вирішено лише в тому випадку, якщо людина, яка натискає посилання, увійшла до Facebook і є другом людини, чий профіль переглядається.
Позначена відповідь здається застарілою, і вона не буде працювати.
Зараз Facebook надає лише унікальний ідентифікатор, пов’язаний із програмою, який не дорівнює ідентифікатору користувача, а URL-адреса профілю та ім’я користувача будуть пустими.
Виконання me?fields=id,name,links
також знецінюється після версії графіку 2.4
Єдина можливість зараз - це запит на дозвіл user_links із вашої консолі розробника.
і передайте його в обсязі при вході в facebook
scope: ['user_link'] }
або виконавши виклик API
Я зібрав інформацію разом:
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 :(