Путаница с идентификатором автора сообщения в API графа Facebook
У меня есть небольшой скрипт для получения метаданных поста из Facebook, пример URL для захвата данных приведен ниже.
https://graph.facebook.com/v2.4/176151725813200_1452040848453513?fields=from&access_token=my_own_user_access_token
Возвращает одну запись, как показано ниже.
{
from: {
name: "Tracy Low",
id: "1452298575094407"
},
id: "176151725813200_1452040848453513",
}
Кажется, это нормально, пока я не попытался выполнить дальнейший запрос по идентификатору автора "1452298575094407" в Facebook Graph API Explorer. Это выдает ошибку для меня.
{
"error": {
"message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
"type": "GraphMethodException",
"code": 100
}
}
Если я создаю сценарий вызова, используя свой токен доступа пользователя,
https://graph.facebook.com/v2.4/1452298575094407?access_token=my_own_user_access_token
хорошая запись возвращается.
{
name: "Tracy Low",
id: "1452298575094407"
}
Если я запрашиваю тот же идентификатор сообщения в Graph API Explorer, '176151725813200_1452040848453513? Fields=from', я получаю
{
"from": {
"name": "Tracy Low",
"id": "1449338978723700"
},
"id": "176151725813200_1452040848453513"
}
Посмотрите на from.id, теперь это другое значение! Это новое значение "1449338978723700" можно запросить в Graph API Explorer. "1449338978723700? Fields=id" ->
{
"id": "1449338978723700"
}
Когда я добавляю значение идентификатора в " http://www.facebook.com/", первый идентификатор 1452298575094407 приводит меня к правильному профилю, а второй идентификатор 1449338978723700 жалуется, что профиль недоступен.
Версия API: 2.4/2.3
Это не блокирует мой сценарий, но странное поведение довольно смущает.
2 ответа
Разобрался почему. Два разных идентификатора - это идентификатор пользователя в области приложения. https://developers.facebook.com/docs/apps/upgrading
Хотя я до сих пор не могу понять, как будет работать Facebook, на какой профиль перенаправлять, когда я добавляю идентификатор области приложения в http://www.facebook.com/, когда appid отсутствует.
http://www.facebook.com/145229857509440 (Перенаправлено на действительный профиль) http://www.facebook.com/1449338978723700 (Жаленный профиль недоступен)
Если вы используете v2.3 и токен доступа к приложению, проблема может быть связана с ошибкой, о которой было сообщено в Facebook