API Graph возвращает false или Unsupported get request при доступе к общедоступной странице Facebook.

У меня возникли проблемы с несколькими фан-страницами и получением информации о них с помощью Facebook Graph API.

Когда я пытаюсь получить подробную информацию о странице Fan, Graph API вернул только false, но теперь возвращается

{
    "error": {
        "message": "Unsupported get request.",
        "type": "GraphMethodException",
        "code": 100
     }
}

Так обстоит дело не со всеми страницами Facebook, только с некоторыми.

Например, когда я пытаюсь получить подробную информацию об этой странице по адресу https://graph.facebook.com/CaptainMorganMacedonia, он возвращает только ошибку.

Страница является общедоступной и насчитывает более 25 поклонников, но у меня все еще есть проблемы с получением сведений о странице. Это что-то с Facebook или у страницы некорректная конфигурация?


person Pece    schedule 27.07.2011    source источник


Ответы (6)


Предполагая, что страница является закрытой от алкоголя (в примере OP страница была страницей с алкоголем), вы должны получить доступ к странице с токеном доступа для пользователя, который соответствует ограничениям на алкоголь.

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

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

Вы должны использовать токен доступа для пользователя, у которого есть разрешение на просмотр страницы.

Если пользователь не соответствует ограничениям, установленным администратором страницы, возвращается false.

Это (с сентября 2012 г.) было заменено на исключение OauthException с текстом Unsupported get request. и кодом 100.

Это универсальная ошибка, которая обычно означает, что проверка конфиденциальности не удалась. Для страниц причина почти наверняка заключается в том, что страница не опубликована, привязана к определенным странам или возрастным группам или помечена как страница, посвященная алкоголю.

person Igy    schedule 27.07.2011
comment
Большое спасибо, я часами бился головой. facebook - такая заноза в заднице. - person Nick; 25.08.2011
comment
Краткая версия заключается в том, что если пользователь что-то не видит на Facebook.com, мы также не позволяем этому пользователю видеть это через API, что означает, что если что-то ограничено, ваше приложение должно доказать, что вы действуете от имени. пользователя, который может видеть контент, что делается с помощью его токена доступа. Есть несколько крайних случаев, когда это не имеет смысла, но в целом я думаю, что поведение правильное, если не обязательно очевидное. - person Igy; 25.08.2011
comment
@Igy Но дело идет дальше. Я использую свой токен доступа пользователя. Я могу видеть события человека на facebook, но не могу получить их с помощью графического API. См. Эту ошибку: developers.facebook.com/bugs/ - person Michał Klimczak; 18.12.2012
comment
Это никак не связано с проблемой в этом ответе - person Igy; 18.12.2012
comment
Где UnknownColumn получить ключ API 21+? Я сделал ключ с профилем достаточно старым. - person Martijn; 26.05.2014
comment
Да, у меня была такая же проблема, потому что страница не была опубликована. - person Ludo - Off the record; 24.10.2015

Картинка лучше тысячи слов.

Если вы измените хотя бы одну из этих настроек:

Настройки страницы Facebook

Ваш клиент получит следующий ответ:

{ "error": {
      "message": "Unsupported get request.",
      "type": "GraphMethodException",
      "code": 100
   }
}

На самом деле я попытался изменить «Возрастные ограничения», и каждая настройка, отличная от «Любой (13)», вызовет эту проблему.

person freedev    schedule 15.04.2014

У меня была эта проблема, но проблема была вызвана ограничением страны (хотя я был в правильной стране). Удаление решило проблему. Проверьте, есть ли у вас какие-либо ограничения, которые могут показаться несущественными, поскольку они могут вызывать блокировку.

person Andu    schedule 16.11.2011

Кажется, что Graph API возвращает false или некоторые пустые данные, когда вы пытаетесь получить доступ к ресурсам, которые были ограничены. Например, администраторы фан-страниц Facebook могут ограничить доступ по возрасту (это включает специальную настройку для страниц, посвященных алкоголю):

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

Возрастное ограничение, связанное с алкоголем, устанавливает минимальный возраст в зависимости от местонахождения пользователя. Только пользователи в Канаде, Южной Корее или Никарагуа, которым исполнилось 19 лет, в Японии, Исландии или Парагвае, которым исполнилось 20 лет, в Камеруне, Микронезии, Палау, Соломоновых Островах, Шри-Ланке или США, которым исполнилось 21 год, в Индии и Швеции, которые 25+, а другие пользователи старше 18 могут просматривать вашу страницу. Вы понимаете, что возрастное ограничение, связанное с употреблением алкоголя, предназначено для удобства, и что Facebook не заявляет, что при использовании этой настройки ваша страница будет соответствовать требованиям закона во всех странах, где ваша страница видна. Вы понимаете, что в конечном итоге вы несете ответственность за установление надлежащих юридических ограничений по возрасту для каждой страны, в которой видна ваша страница.

Они также могут ограничить свой доступ по стране:

Введите одну или несколько стран, а затем выберите, хотите ли вы, чтобы страница была видна или скрыта от людей в перечисленных странах. Ввод одной или нескольких стран означает, что вышедшие из системы пользователи не смогут видеть вашу страницу. Если страны не указаны, ваша страница будет видна людям из всех стран. Вы понимаете, что несете ответственность за установление надлежащих ограничений для страны, чтобы гарантировать, что содержание вашей Страницы соответствует стране или странам, в которых вы разрешаете ему быть видимым.

Например, вы не сможете увидеть эту страницу, если не вошли в Facebook. (вы будете перенаправлены на домашнюю страницу Facebook). То же самое и в Graph API. Звонок:

http://graph.facebook.com/105226926239

Вернусь:

false

Однако, если вам удастся получить токен доступа пользователя (например, из Graph API Explorer) и предполагая, что соответствующий профиль соответствует ограничениям, установленным для этой страницы:

https://graph.facebook.com/105226926239?access_token=AAACEdEose0cBACIijRIMtayOiN5F58x6DxolYi8ezmpAIPORApnfQvG5Kj1ftOQhSzIgxkNxQiu4iBwozqRT3zTvswEvm0O0JobZC8AZDZD

Вернусь:

{
   "id": "105226926239",
   "name": "CodeReduc.com",
   "picture": "http://profile.ak.fbcdn.net/hprofile-ak-snc4/71056_105226926239_2230111_s.jpg",
   "link": "http://www.facebook.com/pages/CodeReduccom/105226926239",
   "likes": 1,
   "category": "Local business",
   "is_published": true
}

К сожалению, невозможно использовать токен доступа приложения для получения этой информации, что может быть полезно в некоторых случаях.

person Community    schedule 21.06.2012

Y Решил это в Настройках -> Контактный адрес электронной почты: введите его. Затем перейдите в раздел «Статус и обзор» и поместите его в раздел. Вы хотите сделать это приложение и все его функции доступными для широкой публики? вариант вверху страницы.

Также убедитесь, что не установлены возрастные ограничения +13 и страна.

person Mikel Sanchez    schedule 04.02.2015

В дополнение ко всем вышеперечисленным ответам, не то, чтобы включение параметра «Социальное обнаружение / приложение отображается в ленте новостей» также вызывает эту проблему.

person Jacek Lampart    schedule 25.01.2016