Facebook API FQL multiquery для получения имени актера, а также ID - PullRequest
3 голосов
/ 07 марта 2012

Я делаю FQL-запрос, используя API PHP Facebook, например:

$stream = $this->facebook->api('fql', array(
    "q" => "SELECT post_id, actor_id, message, description, description_tags, type, attachment 
            FROM stream 
            WHERE filter_key in (
                 SELECT filter_key 
                 FROM stream_filter
                 WHERE uid=me() AND type='newsfeed'
           ) AND is_hidden = 0"
));

Это дает мне новостную ленту пользователя. Тем не менее, это даст мне только идентификатор actor - мне нужно имя актера. (Под актером я подразумеваю автора истории в ленте новостей.)

Я понимаю, что мне нужно будет снова запросить API, чтобы получить имя. Как мне выполнить такой мультизапрос? Используя этот пример, как я могу получить имя актера?

1 Ответ

0 голосов
/ 07 марта 2012

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

Допустим, вы делаете много таких вызовов для получения потоковых элементов (одно из моих производственных приложений делает это, и я получил его код, как я описываю). Чего вы не хотите делать, так это перегружать API, расстраивать Facebook с идентификатором вашего приложения и начинать снижать лимиты вызовов !!

Итак, вы можете кэшировать (используя memcached, кеш веб-приложения, базу данных или другое) имя пользователя (так как имя для идентификатора редко изменяется для идентификатора предоставления) на основе actor_id. Также полезно найти идентификаторы to / from для других fql-объектов facebook, таких как комментарии, лайки и т. Д.

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