Как получить только фотографии из новостной ленты Facebook пользователя, используя Graph API? - PullRequest
2 голосов
/ 17 декабря 2011

Я просмотрел документацию Facebook, но не увидел очевидного способа вернуть ТОЛЬКО фотографии из ленты новостей пользователя.В частности:

Дайте токен доступа FB, я хочу отфильтровать новостную ленту только к опубликованным фотографиям.

https://graph.facebook.com/me/home?access_token=

Возвращает всю новостную ленту.Я вижу, что у элементов есть атрибут «Тип», который имеет значение «фото», когда это фотография.

Как я могу указать в ответе только фотографии для возврата?

Ответы [ 2 ]

5 голосов
/ 17 декабря 2011

Конечно, вы можете сделать это, используя FQL:

SELECT 
    post_id, message, attachment 
FROM 
    stream 
WHERE 
    filter_key 
IN (
    SELECT 
        filter_key 
    FROM 
        stream_filter 
    WHERE 
        uid = me() 
    AND 
        name = "Photos"
   )

Рабочая демонстрация с использованием Graph API Explorer: https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20post_id%2C%20message%2C%20attachment%20FROM%20stream%20WHERE%20filter_key%20IN%20(SELECT%20filter_key%20FROM%20stream_filter%20WHERE%20uid%3Dme()%20AND%20name%3D%22Photos%22)

РЕДАКТИРОВАТЬ:

Похоже, что эта ссылка не будет работать.Это запрос к графику API.Вам нужны read_stream разрешения.

https://graph.facebook.com/fql?q=SELECT post_id, message, attachment FROM stream WHERE filter_key IN (SELECT filter_key FROM stream_filter WHERE uid=me() AND name="Photos")

2 голосов
/ 15 апреля 2014

Facebook добавил параметр фильтра к /me/home endpoint, поэтому, если вы запросите /me/home?filter=photos, вы получите только фотографии от пользователей News Feed

...