Facebook Graph Api 2.1 получает идентификатор пользователя из имени пользователя

Я ищу решение, которое может предоставить мне идентификатор пользователя из URL-адреса профиля или имени пользователя fb.

example :http://facebook.com/username

получить идентификатор пользователя этого URL

а также, когда я пытаюсь прочитать друзей (у меня есть разрешение, связанное с друзьями), я получаю пустой массив данных, например:

 graph api requ: https://graph.facebook.com/v2.1/me/friends?access_token=xxxxx
 response:
    {
      "data": [
      ], 
      "summary": {
        "total_count": 455
      }
    }

Пожалуйста, дайте мне знать, как я могу получить список друзей и идентификатор пользователя, используя имя пользователя в Facebook Graph API v2.1


person Dhiraj    schedule 26.09.2014    source источник
comment
Вы не можете. Невозможно получить user_id из имени пользователя. И /me/friends возвращает друзей, которые используют приложение и предоставили ему user_friends. Так что у вас нет друзей, которые сделали это   -  person WizKid    schedule 26.09.2014
comment
Спасибо, что сообщили мне о том, что у fb нет API для получения user_id из имени пользователя. но для /me/friends у меня есть разрешение для (user_friends), но я все равно получаю ответ с пустыми данными, как вы можете видеть выше, я получаю total_count моих друзей, но ответ данных становится пустым. и еще кое-что. Если вы тестируете это со старым приложением fb, результат может отличаться для вас, я предлагаю вам просто создать новое приложение fb, которое будет поддерживать только график 2.1, оно выдаст ошибку того же типа для меня/друзей вам .   -  person Dhiraj    schedule 28.09.2014
comment
Вы не прочитали мой ответ. Вы получите только друзей, которые предоставили вашему приложению разрешение user_friends.   -  person WizKid    schedule 28.09.2014


Ответы (6)


Сайт graph.facebook.com/username перестал работать. Есть неприятный обходной путь. В моем ограниченном тестировании это работает в Chrome.

Везде, где вы видите имя пользователя facebook в записи временной шкалы, щелкните правой кнопкой мыши и выберите «проверить элемент». В открывшемся окне прокрутите немного вверх и найдите строку:

"data-hovercard="/ajax/hovercard/hovercard.php?id=".

Идентификатор Facebook имени пользователя, по которому вы щелкнули правой кнопкой мыши, следует за знаком =.

Кажется, это работает только с именами на временной шкале.

person pndfam05    schedule 23.06.2015

Привет, дхирадж, вы можете получить имя пользователя, идентификатор пользователя и изображение профиля всех своих друзей, выполнив это. ....Надеюсь" rel="nofollow">https://graph.facebook.com/v2.1/me/taggable_friends?access_token=xxxxx....Надеюсь это поможет... и, пожалуйста, не забудьте проголосовать, если вы идентифицируете это как ответ

https://graph.facebook.com/v2.1/me/friends?access_token=xxxxx вернет друзей, которые используют ваше приложение, т. е. тех, кто аутентифицировал ваше приложение... где как https://graph.facebook.com/v2.1/me/taggable_friends?access_token=xxxxx вернет всех ваших друзей

person Syed Abuturab    schedule 30.09.2014
comment
Я могу получить taggable-friends, но когда я вызываю api graph. facebook.com/v2.1/me/friends?access_token=xxxxx, он просто дает мне ответ { data: [ ], summary: { total_count: 458 } }, я не могу получить имя друга, просто могу видеть total_count..., у меня есть разрешение user_friends - person Dhiraj; 01.10.2014
comment
конечно, это даст вам ответ в виде данных: [] поскольку... вызов API graph.facebook.com/v2.1/me/friends?access_token=xxxxx вернет подробную информацию о друзьях пользователей, авторизовавших ваше приложение, т.е. используют ваше приложение... ответ возвращает нуль в данных, что означает, что никто из ваших друзей не использует ваше приложение... понятно? - person Syed Abuturab; 01.10.2014
comment
кстати, почему вы не хотите использовать меня/taggable_friends для получения сведений о ваших друзьях? - person Syed Abuturab; 01.10.2014
comment
Я просто хочу получить список своих друзей, я использую этот график API . facebook.com/v2.1/me/friends?access_token=xxxxx , Это не работает после того, как я создал новое приложение на Facebook для производства. Он просто возвращает мне { данные: [ ], сводку: { total_count: 458 } } это, но я не могу получить имя и идентификатор друга - person Dhiraj; 01.10.2014
comment
Проверьте эту ссылку developers.facebook.com/docs/graph -api/reference/v2.1/user/.... где четко указано, что 1) Это вернет только тех друзей, которые использовали (через вход в Facebook) приложение, делающее запрос. 2) Если друг человека отклоняет разрешение user_friends, этот друг не будет отображаться в списке друзей этого человека. - person Syed Abuturab; 01.10.2014
comment
Чтобы вы поняли... я предлагаю вам сделать это, создайте новый ваш идентификатор facebook, а затем отправьте запрос на добавление в друзья на новый идентификатор facebook из вашего старого идентификатора facebook, затем примите запрос на добавление в друзья..... Затем войдите в систему. к вашему приложению, используя только что созданный идентификатор facebook, затем... позвоните на graph.facebook.com/v2.1/me/friends?access_token=xxxxx...теперь в части данных: [] вы получите подробности вновь созданного идентификатора facebook... Пожалуйста, попробуйте это..... тогда вы получите концепцию - person Syed Abuturab; 01.10.2014

Вы можете отправить HTTP-запрос на страницу профиля facebook из кода на стороне сервера
, т.е. запрос на https://facebook.com/some_username
Проанализируйте полученный ответ, содержащий исходный код HTML, и найдите тег <meta>, который имеет атрибут content со значением, похожим на это fb://profile/xxx, где xxx будет идентификатор профиля, который вы ищете.

#Update (май 2020 г.):
Facebook недавно перешел на новый веб-интерфейс, и упомянутый выше метатег можно найти только в старой версии.
В новой версии Facebook вы можете найти идентификатор профиля во многих местах, но все, что я нашел до сих пор, было внутри тела различных тегов <script>.
Вы можете проанализировать любое тело скрипта, которое начинается с requireLazy, и найти

"result":{"data":{"user":{"id":"xxx"}

Or

"userID":"xxx"
person Mr.Cat    schedule 17.05.2018

Я обнаружил, что если вы перейдете на страницу имени пользователя, например:

https://www.facebook.com/username

Если вы щелкните правой кнопкой мыши на фотографии пользователя, скопируйте ссылку на изображение, вы получите что-то вроде:

https://www.facebook.com/photo.php?fbid=12332322&set=a.1afs2&type=3&source=11&referrer_profile_id=100024670088999

referrer_profile_id — это идентификатор пользователя в Facebook. Не очень помогает с точки зрения API, но дает вам идентификатор.

person Ray    schedule 09.03.2018

Я также заметил, что JSON из узла /me/home дает имена пользователей и их идентификаторы от тех людей, которым что-то понравилось. Поскольку эти люди также могут быть друзьями, вы можете частично определить идентификаторы пользователей для друзей, просмотрев этот канал в сочетании с taggable_friends. Я не уверен, что на этот счет говорится в условиях использования Facebook (v2.3) — может быть, это запрещено?

person user1857742    schedule 08.07.2015

Дубликат: api для получения uid из URL-адреса профиля на facebook <с>

Вы можете вызвать график напрямую следующим образом: https://graph.facebook.com/username, где имя пользователя это имя пользователя, которое вы хотите найти.

редактировать: устарело

person az_    schedule 04.02.2015