Facebook Graph API возвращает false, даже если публикация - PullRequest
6 голосов
/ 11 августа 2011

В моем приложении большинство общедоступных сообщений, по-видимому, возвращают значение "false" при доступе через API Graph.

Пример: https://graph.facebook.com/1543370206_2215254431220?access_token=XXXX

Это сообщение является общедоступным, но запрашивает вышеуказанноевсегда возвращает false.

Что касается похожих вопросов в StackOverflow, я пытался использовать как токен доступа к приложению, так и несколько разных токенов доступа пользователя oAuth 2.0 с offline_access, но безуспешно.

I 'мы также пытались получить к нему доступ, используя формат ID профиля ID (как указано выше) и формат postid (https://graph.facebook.com/2215254431220?access_token=XXXX),, но не повезло.

Я также повторил попытку через 24 часа, просто чтобы убедиться, что я не превышаюОграничения API.

Я протестировал более 1000 общедоступных постов (я знаю, что они общедоступны, потому что я получил их из Graph API с помощью метода поиска, но я также произвел некоторую случайную выборку в браузере, чтобыбыть уверенным). 75% вернул false (независимо от того, использовал ли я токен доступа к приложению или токен доступа пользователя).

Ответы [ 3 ]

9 голосов
/ 25 августа 2011

Я думаю, что решил это.

Посты, которые возвращали ложные, как таковые не являются "публичными".Они кажутся видимыми любому пользователю Facebook, независимо от того, дружат ли они с автором.Однако, если вы не вошли в Facebook, вы не сможете их увидеть.

Посты, которые были успешными, были действительно публичными.Большинство из них принадлежали компаниям и т. Д., И вы могли видеть их независимо от того, вошли вы в Facebook или нет.

Я полагаю, что Graph API проводит различие между этими двумя типами видимости, например, «Все в Facebook» и «Все»в Интернете'.Я посмотрел в настройках конфиденциальности и не могу понять, как это было сделано.

Несмотря на это, это не очень хорошо документировано в документах Graph API.Также не возвращает «false» элегантный способ справиться с этой ошибкой.Также непоследовательно разрешать мне видеть сообщение через поиск, но не запрашивать объект напрямую.

1 голос
/ 04 сентября 2012

Я знаю, что этому вопросу больше одного года, но Graph вернет правильный объект, если вы используете токен доступа к странице.

Вы получаете их, запрашивая у пользователя разрешение MANAGE_PAGES, а затем выбирая для пользователя соединение / Account. Каждая запись в соединении будет содержать pageid и маркер доступа к конкретной странице - этот токен позволит вам извлечь все объекты страницы из графика. Если вы используете свой токен приложения или собственный токен пользователя, он вернет false.

0 голосов
/ 25 августа 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...