2011-09-06 6 views
2

나는 이미 Graph API을 사용하여 페이스 북의 코멘트를 URL로부터 얻습니다. 그게 잘된거야.그래프 API를 통해 페이스 북의 코멘트를 가져오고, 사회적인 플러그인의 숨겨진 코멘트가 아닙니다. 페이스 북의 코멘트 박스

하지만 문제가 있습니다. 상자 (소셜 플러그인)에서 숨겨진 주석은 API의 JSON 응답에 표시됩니다. 하지만 그 사람들이 나타나기를 원하지 않습니다. 그리고 검토 된 의견인지 아닌지에 대한 정보를 얻을 필드가 없습니다.

Array(
    [id] => 10150178257599373_16650724 
    [from] => Array 
    (
     [name] => Books, EBooks 
     [category] => Author 
     [id] => 182404265135935 
    ) 
    [message] => Thank you, Facebook 
    [created_time] => 2011-06-06T03:21:06+0000 
) 

"알맞은 정보"란 필드는 없습니다. 나는 무엇을해야합니까?

+0

비슷한 질문을 그래프 API로 검토 의견을 필터링하는 방법?] (http://stackoverflow.com/questions/9475075/is-there-a-way-to-filter-out-moderated-comments-with-the-graph-api) 거기에 대한 답변을 참조하십시오 :-) – Rafen

답변

1

두꺼운 보통!

Fb.Event.subscribe을 통해 모든 새 댓글에 대한 데이터베이스 항목을 만들 수 있으며 Facebook에서 댓글을 검토하는 즉시 데이터베이스에 댓글을 표시하고 표시된 댓글 만 인쇄 할 수 있습니다. 그것은 지금까지 propably 유일한 해결책 :(

페이스 북은 자신의 JSON에서 정보를 구현하거나, 그래프 API에서 더 나은에만 넣어 검토 의견 수 있다면 그것은 좋은 것 좀 짜증나지만.

1

내가 다 퉜다 이 최근에 FQL을 사용하여 비공개로 표시되지 않은 주석을 얻을 수있었습니다. (나는 비 변조라고 생각합니까?) 자바 스크립트에서이 작업을 수행했지만이 코드를 PHP로 다시 작성할 수 없습니다.

fql = "SELECT post_fbid, fromid, object_id, text, time, comments FROM comment WHERE object_id IN (SELECT comments_fbid FROM link_stat WHERE url ='" + commentsUrl + "') and is_private = 0 limit 10"; 

이 데이터를 되찾은 후 루프백하고 모든 사용자 ID를 가져옵니다.

사용자 ID와
FB.api({method: 'fql.query',query: fql},function (comments) { 
    $.each(comments, function (index, comment) { 
     userIds.push(comment.fromid); 
    }); 
}); 

, 각각의 사용자 이름을 얻기 위해 그래프 API를 사용하여 그래프 API의 JSON 응답과 유사한 개체를 만들 : 는 [거기가 :

FB.api('?ids=' + userIds.join(','), function (responseIds) { 

    $.each(comments, function (index, comment) { 
     comment.message = comment.text; 
     comment.created_time = comment.time; 
     comment.from = {id: comment.fromid, name: responseIds[comment.fromid].name}; 

    }); 
}); 
관련 문제