Моя цель - идентифицировать авторов постов, опубликованных на моей странице в Facebook, сопоставив их с идентификаторами пользователей из моей базы данных, которые имеют идентификаторы Идентификаторы пользователей в рамках приложения (ASID) .
Я сгенерировал токены доступа пользователей (через приложение) и расширил их до долгоживущих токенов доступа. Затем я сгенерировал токены доступа к страницам для всех страниц, управляемых пользователями - перечисленных через GET user/accounts
.
Сначала я проверяю автора сообщения ({PID}
- это идентификатор поста Facebook):
curl -X GET 'https://graph.facebook.com/v6.0/{PID}?fields=admin_creator&access_token={ACCESS_TOKEN}'
Это дает мой ID
пользователя, который, как я считаю, Идентификатор страницы в области страницы (PSID) .
Чтобы выполнить сопоставление, я пытаюсь Establi sh PSID-s для всех страниц, управляемых всеми пользователями из моей базы данных:
curl -X GET 'https://graph.facebook.com/v6.0/{UID}/ids_for_pages?access_token={ACCESS_TOKEN}&appsecret_proof={APPSECRET_PROOF}'
Где {UID}
- это пользователь ASID , {ACCESS_TOKEN}
это токен доступа к странице, а APPSECRET_PROOF
- это га sh, сгенерированный из токена доступа к странице и секрета приложения. Приложение и страницы принадлежат одному и тому же бизнесу (который обязателен для использования ids_for_pages
конечная точка).
К сожалению, ответ:
{"data":[]}
Я прочитал документацию - https://developers.facebook.com/docs/facebook-login/connecting-accounts (который рекомендует использовать токен доступа к приложению для ids_for_pages
) и аналогичный вопрос StackOverflow - Получение ids_for_pages из Graph возвращает пустое (которое рекомендует использовать токен доступа к странице для ids_for_pages
).
Поэтому вместо токена доступа к странице как {ACCESS_TOKEN}
я также пытался использовать (с соответствующим APPSECRET_PROOF
):
- токен доступа к приложению (генерируется из секрета приложения). )
- токен доступа пользователя (долгоживущий)
но без эффекта. В ответ я всегда получаю пустой список.
Я даже пытался изменить {UID}
(идентификатор пользователя в приложении) на:
- Стандартный идентификатор профиля Facebook
- Идентификатор пользователя в области страницы (именно это я и хочу получить в ответ!), Полученный из поля
admin_creator
полученных сообщений
Ничего. Ответ пуст. Я полностью застрял.
Как и подсказывало @ 04FS, причиной может быть что-то описанное в документации API Facebook ids_for_pages
(ссылка выше):
Ваш начальный вызов API может вызвать проверку приложения, выполнение которой может занять приблизительно 48 часов.
Однако прошло более 48 часов с тех пор, как был задан вопрос, и более 72 часов с момента моего первоначального вызова API , но ответ по-прежнему пуст.