2011-08-13 3 views
3

전체 사용자의 페이스 북 친구가 공유하는 링크에 액세스하는 가장 실용적인 방법은 무엇입니까?Facebook API : 모든 친구가 공유하는 모든 링크?

인증 된 친구의 친구들이 공유하는 소수의 도메인에 대한 모든 링크를 다 긁기를 원합니다.

"도메인 X의 모든 링크", "모든 링크"(도메인 X를 필터링합니다) 또는 각 친구를 가져 와서 개별 피드를 구문 분석해야합니까? 모든 친구의 모든 링크가 될 기본 "인바운드"피드가 있다고 가정합니다. 참된? 사실이 아니다?

답변

2
select title, url, owner from link where owner in (select uid2 from friend where uid1 = me() limit 100) 

은 인증 된 사용자의 친구가 공유 한 링크를 반환합니다. 그런 다음 관심있는 도메인의 URL을 필터링해야합니다. 링크 테이블의 URL 필드는 인덱싱되지 않으므로 FQL에서 WHERE를 수행 할 수 없습니다.

+0

외부 쿼리에'ORDER BY created_time DESC'을 추가하는 것이 이상적입니다. 최종 질의 : 'link_id, title, url, owner, owner_comment, created_time, link에서 그림보기 소유자가 (uid1 = me() LIMIT 100 인 친구로부터 uid2를 선택하십시오.) ORDER BY created_time DESC' –

+0

듣기 좋은 곳 . 또한 소유자와 같은 색인 된 필드 중 하나에 이미 WHERE 절이있는 한 URL 필드에 WHERE 절을 추가 할 수 있음을 발견했습니다. 따라서 특정 URL을 찾으려면 다음을 수행 할 수 있습니다. link_id, title, url, owner, owner_comment, created_time, link from picture from owner where (where uid1 = me() LIMIT 100) url = 'http ://f8.facebook.com/'ORDER BY created_time DESC –

+1

'url LIKE'% youtube.com % '와 같은 와일드 카드 검색을 지원할 수 있습니까? –

0

도메인 검색의 경우 WHERE strpos (url, 'domain.com')> 0과 같은 것을 추가하여 where 절의 인덱싱 가능한 열을 유지하십시오.

관련 문제