Подтвердить что ты не робот

Получите идентификатор пользователя Facebook из пользовательского идентификатора приложения

С обновлением с Facebook Graph API версии 1.0 до версии 2.0, Facebook использует "Идентификаторы пользователей с областью приложения", поэтому я больше не вижу "оригинальный" идентификатор пользователя в моих приложениях.

Я всегда использовал обновления в реальном времени и графические API-вызовы вроде " https://graph.facebook.com/{postId}/comments", чтобы проанализировать активность пользователя на странице Facebook, где было приложение. Но поскольку эти данные содержат исходный идентификатор пользователя, я больше не могу сопоставлять действия с моими зарегистрированными пользователями!

Итак, есть ли способ получить исходный идентификатор пользователя Facebook из идентификатора пользователя в приложении? Или наоборот?

EDIT:

В результате я получил идентификаторы приложений для всех моих пользователей, используя описанный здесь метод API: qaru.site/info/165756/... и сохранил их в моей базе данных в дополнение к старый идентификатор. Затем, всякий раз, когда прибыл RTU, для "старых пользователей" я хотел бы проверить, у какого пользователя есть этот идентификатор приложения и обработать его. По крайней мере, Facebook удалось исправить ошибку, упомянутую в комментариях (Получить идентификатор пользователя Facebook из идентификатора пользователя в приложении) за несколько дней до того, как API v1.0 устарел, поэтому для новых пользователей моих приложений это работает как шарм. До сих пор...

4b9b3361

Ответ 1

нет (простой/очевидной) возможности получить реальный идентификатор пользователя на основе идентификатора пользователя в приложении.

Ответ 2

Из вашего разговора между Johannes N.

Могу ли я получить идентификаторы приложений (для приложений, которыми я владею) через оригинального пользователя Я бы. это тоже поможет.

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

https://graph.facebook.com/v2.0/?ids=http://www.facebook.com/USER_ID&access_token=ACCESS_TOKEN

enter image description here

Yo может использовать параметр fields для возврата только id:

https://graph.facebook.com/v2.0/?ids=http://www.facebook.com/USER_ID&fields=id&access_token=ACCESS_TOKEN

enter image description here

Преимущество ids вместо id, потому что вы можете запросить несколько идентификаторов:

enter image description here * www можно удалить, чтобы свести к минимуму количество символов.

Получить идентификаторы приложений из имени пользователя можно также легко:

https://graph.facebook.com/v2.0/?ids=http://www.facebook.com/USERNAME&access_token=ACCESS_TOKEN

enter image description here

Ответ 3

Вы не можете перейти от верного к реальному. Лучше всего конвертировать все из них в область охвата. Это довольно легко:

https://graph.facebook.com/?ids=REAL_ID&access_token=APP_ID|APP_SECRET

Вот простой код Ruby, который делает это:

require 'open-uri'
require 'json'

json = JSON.load(open("https://graph.facebook.com/?ids=#{real_id}&access_token=#{FACEBOOK_APP_ID}|#{FACEBOOK_APP_SECRET}"))
scoped_id = /app_scoped_user_id\/(\d+)\//.match(json[real_id.to_s]['link'])[1]

Ответ 4

Я обнаружил, что веб-сайт может помочь вам получить идентификатор пользователя facebook с идентификатором области приложения.

Здесь http://izitools.com/en/tool/get-facebook-id-from-scoped-id

введите описание изображения здесь

API

введите описание изображения здесь

Ответ 5

есть грязный взломать исходный идентификатор пользователя

http://graph.facebook.com/app-scoped-id возвращает общедоступную информацию в facebook следующим образом: {   "id": "app-scoped-id",   "first_name": "xxxx",   "мужской пол",   "last_name": "yyyy",   "link": " https://www.facebook.com/zzzz",   "locale": "en_US",   "name": "xxxx yyyy",   "username": "zzzz" }

Затем вы создаете другой вызов api для графического интерфейса с именем пользователя http://graph.facebook.com/zzzz

Это вернет исходный идентификатор facebook и другую общедоступную информацию, а не app-scoped-id

Ответ 6

https://www.facebook.com/app_scoped_user_id/670839443061245

спросите себя, почему вы получаете от этого имени пользователя все пользователи.

{
   "id": "670839443061245",
   "first_name": "Lucas",
   "gender": "male",
   "last_name": "Ou-Yang",
   "link": "https://www.facebook.com/L",
   "locale": "en_US",
   "name": "Lucas Ou-Yang",
   "username": "L"
}