4

FQL을 사용하여 모든 친구를 선택하는 방법 지정된 위치 범위에있는 수표? 어떤 도움이 크게 될 것 ...Facebook FQL : 범위 내에서 체크인 받기

Where coords Within 10 miles of [(New York City, NY) | (long, lat) | (user.current_location)]

https://api.facebook.com/method/fql.query?access_token={0}&query=SELECT coords FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me())

하지만 난 그런 짓을 위 쿼리하는 방법을 추가 할 수 있습니다 : 내 친구 체크인 좌표를 반환하는 FQL을 사용할 수 있습니다 고맙습니다. 미리 감사드립니다.

EDIT (3/9 3:05 오후 동부 표준시) :

내가 주로 단지 최종 결과를 찾고 있어요이 - 하나의 FQL 문에서 다시 모든 것을 얻을 필요, 또는 사용하지 않는 FQL (그래프 api, 가능?) 나는 그것을 다시 조각으로 가져와 FQL/그래프 API의 한계로 인해 로컬로 작업해야 할 수도 있음을 알고 있습니다. 나는 단지 효율적인 방식으로하고 싶기 때문에 사용자가 모든 것을로드하는 데 20 초를 기다릴 필요가 없습니다.

즉각적인 문제는 누군가 친구가 수백 명이 있고 각 친구에 대한 모든 체크 인이 반환되면 너무 많은 데이터로 작업 할 수 있다는 것입니다.

내가 찾고있는 결과의 세부적인 세부 사항은 모든 친구들과 함께 시작하여 마지막 X 일 이내에 체크인 한 상위 10 개 장소 (체크인 빈도의 가장 높은 빈도를 기준으로 함)로 끝나는 것입니다. 이는 사용자의 현재 페이스 북 위치의 Y 거리 내에 있고, 위치 페이지는 막대와 같은 특정 카테고리에 속합니다.

그게 내가 다루고있는 시나리오이고 내가 추가 한 추가 정보가 원래의 질문을 복잡하게하지 않기를 바랍니다. 감사! 이 (가 50km 반경에 제한있어 특히 때문에) 잘 작동하지 않지만

답변

10

그래서, 당신을 도울 수있는 몇 가지 문서화되지 않은 기능이라고 거리()있다 :

SELECT coords, author_uid, tagged_uids, target_id, message FROM checkin WHERE target_id IN 
(SELECT page_id FROM place WHERE distance(latitude, longitude, "37.75377496892", "-122.42077080676") < 50000) 

최대 50,000 미터입니다, 이것은 FQL (명백하게 문서화되지 않은) distance 함수의 출력 단위입니다.

https://developers.facebook.com/docs/reference/fql/checkin/ https://developers.facebook.com/docs/reference/fql/place

+0

@rene 좋은 알고; 내 편집 사유가 댓글이나 뭔가로 나타날 것이라고 생각했습니다. –

+0

페이스 북은 'checkin' 테이블을 업데이트하여'place '와 연관된 페이지 또는 이벤트에 대해'target_id '를 사용했습니다. API에 대한 최신 정보를 얻기 위해 @ phreakhead의 대답을 수정하고 FQL 참조 문서에 대한 링크를 몇 개 포함했습니다. –

+0

@ShaneDaniel은 편집 기록을 방문한 경우에만 표시됩니다. 일반적으로 OP를 ping하여 편집 할 수 있습니다. 그렇게하지 않으면 편집을 결정할 수 있습니다. – rene