FQL/PHP에서 작동하는 것과 같은 기능이 있습니다. 여기 내 멀티 쿼리가 있습니다.
{'activity':
"SELECT post_id, created_time FROM stream WHERE source_id = PAGE_ID AND
attachment.fb_object_type = 'photo' AND created_time > 1338834720
AND comments.count > 0 LIMIT 0, 500",
'commented':
"SELECT post_id, text, fromid FROM comment WHERE post_id IN
(SELECT post_id FROM #activity) AND AND (strpos(upper(text), '#HASHTAG') >= 0",
'accepted':
"SELECT post_id, actor_id, message, attachment, place, created_time, likes
FROM stream WHERE post_id IN (SELECT post_id FROM #commented)
ORDER BY likes.count DESC",
'images':
"SELECT pid, src, src_big, src_small, src_width, src_height FROM photo
WHERE pid IN (SELECT attachment.media.photo.pid FROM #accepted)",
'users':
"SELECT name, uid, current_location, locale FROM user WHERE uid IN
(SELECT actor_id FROM #accepted)",
'pages':
"SELECT name, page_id FROM page WHERE page_id IN (SELECT actor_id FROM #accepted)",
'places':
"SELECT name, page_id, description, display_subtext, latitude, longitude
FROM place WHERE page_id IN (SELECT place FROM #accepted)"
}
이를 분해하려면
#activity
사진입니다 0이 아닌 코멘트 수있는 캠페인의 시작 날짜 이후에 생성 된 모든 스트림 객체를 가져옵니다. 500 개의 LIMIT을 사용하면 최대 개수의 게시물을 반환하는 것으로 보입니다. 값이 높거나 낮 으면 더 적게 반환됩니다.
#commented
은 자신의 의견 중 하나의 텍스트에 #HASHTAG
의 게시물을 찾습니다. 참고, 나는 FQL에서 예약 된 문자 인 #
을 찾고 있지 않습니다. 사용하면 문제가 발생할 수 있습니다.
#accepted
은 #commented에있는 게시물의 전체 세부 정보를 가져옵니다.
#images
해당 게시물에있는 이미지의 모든 세부 정보를 가져옵니다. 나는 이것을 다시 리 팩터로 사용하여 pid
대신 object_id
을 사용하고 새로운 real_width
스펙을 사용하여 레이아웃을 더 쉽게 만들도록 시도합니다.
#users
및 #pages
은 항목을 처음 게시 한 배우의 세부 정보를 가져옵니다. 나는 이제 하나의 쿼리에서 이것을 얻기 위해 profile
테이블을 사용할 수 있다는 것을 알고있다.
#places
은 지리 태그가 지정된 게시물의 위치 정보를 가져옵니다.
현재 작업에서 볼 수 있습니다 http://getwellgabby.org/show-us-a-sign
감사합니다! 하지만 어떤 이유로 활동은 댓글에 대한 id와 created_time 만 반환합니다 (댓글의 수가 매우 많은 첫 번째 사진 만 - 해시 태그가없는 사진 만). 주석에 해시 태그가 없기 때문에 다른 쿼리는 아무 것도 반환하지 않습니다. –
내가 원하지 않는 대문자 함수가 있다는 것을 놓친 것 때문에 흠집이났습니다. 이 방법은 거의 완벽하게 작동하지만 한 주석과 이후에 단 하나의 사진 만 반환합니다. 이게 의도 된 것이거나 뭔가 잘못하고있는 것입니까? –
스트림 테이블이 일관되게 일치하지 않습니다. 스트림에 대해 말할 수는 없지만이 쿼리를 약간 수정 한 버전을 사용하면 보통 10-50 장의 사진을 반환 할 수 있습니다.어쨌든 고마워, – cpilko