// 페이지 기본 정보 읽어오기
FB.api('/' + pageId, function(response) {
    console.log(response);
});

// 페이지의 모든 feed 읽어오기
FB.api({
        method: 'fql.query',
        query: 'SELECT * FROM stream WHERE source_id=' + pageId + ' LIMIT 1000'
    },
    function(response) {
        console.log(response);
    }
);

// 페이지 owner가 작성한 feed 읽어오기
FB.api({
        method: 'fql.query',
        query: 'SELECT * FROM stream WHERE filter_key='owner' AND source_id=' + pageId
    },
    function(response) {
        console.log(response);
    }
);

// 다른 사용자가 페이지에 작성한 feed 읽어오기(filter_key만 할 경우 owner이 작성한 것도 가져오는 경우가 있다. 따라서 actor_id 조건과 같이 사용)
FB.api({
        method: 'fql.query',
        query: 'SELECT * FROM stream WHERE filter_key='others' AND actor_id!=' + pageId + ' AND source_id=' + pageId
    },
    function(response) {
        console.log(response);
    }
);

// 페이지의 feed에 달린 모든 댓글 가져오기
FB.api({
        method: 'fql.query',
        query: 'SELECT * FROM comment WHERE post_id IN (SELECT post_id FROM stream WHERE source_id=' + pageId + ')'
    },
    function(response) {
        console.log(response);
    }
);

// 페이지의 feed에 달린 댓글에 달린 답글 모두 가져오기
FB.api({
        method: 'fql.query',
        query: 'SELECT * FROM comment WHERE parent_id IN (SELECT id FROM comment WHERE post_id IN (SELECT post_id FROM stream WHERE source_id=' + pageId + ')'
    },
    function(response) {
        console.log(response);
    }
);

Posted by incree

2013/10/28 11:50 2013/10/28 11:50
, , , , , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/289

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

facebook api를 이용해서 page post를 가져오는 건

/page_id/feed 이다

FB.api('/' + pageId + '/feed', {limit:25, until:nextPageUntil}, function(response) {
            iwtObj.common.fn_debug(response);
}

하지만 이 경우 filter_key를 사용할 수 없어서

내가 작성한 feed와 다른 사람의 게시물을 구분할 수 없어서

루프를 돌면서 id 비교해서 나눠줘야 한다.(방법이 있는데 못 찾은것일수도 있음)

내 feed와 다른 사람 게시물을 구분해서 가져오려면 아래와 같은 fql을 사용하면 된다

1. SELECT post_id, actor_id, target_id, message FROM stream WHERE filter_key = 'others' AND source_id = page_id

2. SELECT post_id, actor_id, target_id, message FROM stream WHERE source_id = page_id AND actor_id != page_id

보통 1번을 사용하면 되고,

2번은 되긴하지만 기본 feed limit내에서 다른 사람의 게시물을 가져오기 때문에

최근에 모두 내가 작성한 feed만 있다면 결과가 리턴되지 않는다.


내 게시물만 가져오려면 filter_key='owner'을 사용하면 된다.

fql에 limit 사용법은 mysql과 동일하다
limit는 mysql처럼 사용은 할 수 있지만 원하는 대로 나오지 않는다(2013.09.14 추가)
  - limit 25
  - limit 0, 25
  - limit 25, 25





Posted by incree

2013/09/14 14:35 2013/09/14 14:35
, , , , , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/266

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다


Notices

Archives

Authors

  1. incree

Recent Trackbacks

Calendar

«   2017/02   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28        

Site Stats

Total hits:
389701
Today:
36
Yesterday:
144