Не все комментарии видны при извлечении поста с помощью Facebook graph API iphone - PullRequest
2 голосов
/ 09 декабря 2010

Я просмотрел все сообщения об API графа Facebook и ничего не нашел по этому поводу.Вот проблема.

Я работаю над приложением для iPhone для одной компании.А для раздела новостей в этом приложении я извлекаю все посты и комментарии со стены страницы этой компании в Facebook, используя Facebook graph API.Я делаю это так: сначала я извлекаю все сообщения, отправляя запрос:

[facebook requestWithGraphPath:@"company name/feed" andDelegate:self];

И я получаю NSDictionary со всеми сообщениями и информацией о нем, включая количество комментариев.Я помещаю все сообщения в tableView, и когда вы нажимаете одну из публикаций, открывается viewController комментариев.Где я запрашиваю комментарии для этого поста:

NSString *postId = [self.post objectForKey:@"id"];
NSString *request = [NSString stringWithFormat:@"%@/comments" ,postId];
[facebook requestWithGraphPath:request andDelegate:self];

Я получаю массив комментариев.Но некоторые из них отсутствуют.Я предполагаю это из-за некоторых настроек конфиденциальности, которые люди имеют в своих аккаунтах.
Мне просто интересно, может быть, у кого-то была такая же проблема, и она знает, как обойти это.Или знаете, какие настройки конфиденциальности пользователь должен изменить в своей учетной записи Facebook, чтобы видеть свои комментарии.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 17 февраля 2011

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

I был захват каналачтобы получить post_id, а затем захватить каждый пост в отдельности, чтобы получить правильную информацию.Однако всего 2 дня назад у меня произошли некоторые действительно забавные вещи, в которых тот же запрос публикации в Facebook в iOS вернул бы 2 из 3 комментариев, браузер Chrome вернул 1 комментарий (самый последний), а запрос в Firefox возвратил остальные 2комментарии, но не самый новый.Не имеет значения, вошел ли я в систему или нет при использовании браузера для проверки ответа.Это произошло примерно с половиной сообщений с комментариями.

Поэтому я попытался использовать токен доступа в URL-адресах на сайте разработчиков Facebook и изменить запрос на этот конкретный пост - сразу же вернул всю правильную информацию!Дошло до того, что я даже создал новое приложение Facebook, чтобы получить новый идентификатор приложения, и новый проект в XCode, чтобы исключить все возможности - ничего не изменилось.

Так что благодаря этой теме япопробовал {post_id} / comments GET, и он работает правильно.Я сделал то же самое для лайков, чтобы исключить этот потенциальный прорыв и дальше!

1 голос
/ 11 января 2011

Graph API работает таинственным образом, и на самом деле открыто бесчисленное количество ошибок, но чтобы упростить его, вам нужно будет передать действительный access_token, чтобы получить все комментарии из facebook.

Значение

https://graph.facebook.com/page_id/feed?access_token=blah

API вернет JSON со ссылками для использования нумерации страниц.Вы можете использовать их для просмотра или извлечения большего количества данных:

https://graph.facebook.com/page_id/feed?access_token=blah&limit=1000

Обратите внимание, что использование лимита выше 1000 приведет к ошибкам и возможным недействительным данным ...это известная ошибкаЕсть также ошибки в логике разбиения на страницы , которые могут быть или не быть исправлены с 2011 года ... вам придется проверить.

Количество комментариев и фактическое количество также содержат ошибки иможет быть отключен при работе на больших страницах (замечено, что это происходит на страницах с более чем 5 тыс. комментариев на пост).Есть также некоторые проблемы с получением самого подсчета ...

Извините, если я не могу помочь вам больше, чем это, но API графика все еще немного беспорядок и рассчитываетдовольно большое количество ошибок.Вам нужно будет проверить, работает ли он, как описано в документации .Но, безусловно, добавьте токен доступа, это не повредит, и вы, скорее всего, получите нужные данные ... если только вы не столкнетесь с ошибкой.

0 голосов
/ 11 января 2011

Кроме того, число комментариев иногда отличается в / feed, чем в / post_id / comments

Например:

graph.facebook.com / 146154582080623 / feed возвращает 1 комментарий сколичество 3

и

graph.facebook.com / 146154582080623_184735008222580 / comments (это сообщение предыдущей страницы) возвращает 2 комментария

Так что мне интереснопроблема в конфиденциальности или нет.

...