Поиск API Facebook для hashtag
Я пытаюсь получить все публичные сообщения Facebook, содержащие хэштег, который представляет собой комбинацию слов, склеенных вместе. Например, "#ThisIsMyHashTag", используя график поиска api, однако сообщения не найдены. Поиск, когда хэштег является фактическим, отлично работает.
Кто-нибудь знает, как заставить это работать?
EDIT: Кажется, что некоторые хастаги с несколькими словами находятся там, например. "#BreakingBadMarathon". Извините за изменение вопроса, знает ли кто-нибудь, работает ли это только для действительно популярных хэштегов, или может быть, что индекс поиска требует времени для обновления?
РЕДАКТИРОВАТЬ 2: ОК, поэтому теперь некоторые из сообщений отображаются для моего хэштега, но не все из них. Когда вы делали звонок раньше, появилось 2 последних сообщения, но не более старые, а затем, когда они запускались позже, появился один из ранних сообщений. Но некоторые до начала, некоторые между сообщениями, которые возвращены, и некоторые должности, которые я сделал после последнего в ответе, не возвращаются. Интересно, хранятся ли записи в разных центрах обработки данных, а некоторые из них индексируются, а некоторые нет? У кого-нибудь еще есть идеи, почему появляются некоторые публичные сообщения, а другие нет?
Ответы
Ответ 1
Обратите внимание, что по состоянию на август 2014 года и Graph API 2.0 Facebook устарел от функции поиска по почте:
Использование Graph API (v1.0) > Доступные типы поиска:
post: Поиск всех публичных сообщений. Не поддерживает пейджинг с лимитом/смещением. Это не доступно в версиях API версии 2.0 или более поздней версии
Ответ 2
Я решил этот вопрос таким образом:
Это возможный запрос для хэштега, использующего вместо% # (соответствующая кодировка URL # -> '%23'
), вместо "% 23" в строке запроса.
Пример: https://graph.facebook.com/search?q=%23myhashtag.
Этот метод работает нормально.
Ответ 3
Попробуйте сделать это двумя способами:
First Use Facebook Graph API:
https://graph.facebook.com/ search? q =% 23YOU-HASH-VALUE & limit = 10000 & Амп; access_token = ВАШ ДОСТУП-ЗНАК
Second way is read Stream Table via FQL:
Но он не даст вам общедоступных данных. он работает только с пользователем или друзьями и для чтения таблицы потоков вам нужны разрешения read_stream
//Запрос FQL с полными пользовательскими данными
SELECT
action_links, actor_id, app_data, app_id, attachment,
attribution, call_to_action, claim_count, comment_info,
created_time, description, description_tags, expiration_timestamp,
feed_targeting, filter_key, impressions, is_exportable,
is_hidden, is_popular, is_published, like_info, message,
message_tags, parent_post_id, permalink, place, post_id,
privacy, promotion_status, scheduled_publish_time, share_count,
share_info, source_id, subscribed, tagged_ids, target_id,
targeting, timeline_visibility, type, updated_time, via_id,
viewer_id, with_location, with_tags, xid, likes
FROM stream
WHERE (source_id=me() ) AND strpos(lower(message),lower('#evanna')) >=0
Откройте 'https://developers.facebook.com/tools/explorer/
' и добавьте 'search?q=%23hashtag-string
', используя действительный access_token и ta da:)
More help see this attached Image
![enter image description here]()
Ответ 4
'/v1.0/search' устарел в версии 2.0, и ваше приложение не может использовать API v1.0, если оно было создано после 30 апреля 2014 года.