2013-08-30 1 views
0

내 친구들이 업로드 한 사진 50 장을 어떻게 얻을 수 있습니까? 내 모든 친구 또는 태그 내 친구들이 50 사진 마지막 얻을 필요가FQL에서 지난 50 장의 사진을 가져 오는 쿼리 오류가 발생했습니다

SELECT pid, src 
FROM photo 
WHERE 
owner IN (SELECT uid1 FROM friend WHERE uid2=me()) 
OR pid IN (
    SELECT pid FROM photo_tag 
    WHERE subject in (SELECT uid1 FROM friend WHERE uid2=me()) 
) 
ORDER BY created DESC 
LIMIT 50 OFFSET 0 

...

내가 그것을 실행

나는 FQL에서이 쿼리를 실행하려고

{ 
    "error": "Request failed" 
} 

나는 내가 결과를 얻을이이 쿼리를 실행할 때 내가 권한 becus을 sufficen 것을 알고 :

를 API 탐색기 오류가 발생합니다 17,451,515,
SELECT pid, src FROM photo WHERE owner =(me()) 

SELECT uid1 FROM friend WHERE uid2=me() 

편집 : 또한 시도이 ..

SELECT pid, caption, aid, owner, link, src_big, src_small, created, modified FROM photo 
WHERE owner IN (SELECT uid1 FROM friend WHERE uid2=me()) 
and created >= 1377800559 
ORDER BY created DESC LIMIT 100 

은 내가 어떻게 더 많은 정보를 얻을 수 있습니까? 그런 쿼리를 실행할 수 있습니까?

답변

1

Finnaly !!! 마지막으로 다음

SELECT pid, src, src_small, src_big, target_id, created, backdated_time 
FROM photo where pid in (
    SELECT attachment.media.photo.pid 
    FROM stream 
    WHERE filter_key IN (SELECT filter_key FROM stream_filter WHERE uid=me()) AND type = 247 
) 

내 초기 접근 방식은 모든 잘못 볼 수 ... 실제로 최신 게시물을 얻을 수있는 stream 테이블을 사용하는 데 필요한 .. ... 모든 친구 사진이 수 게시 게시 된 사진 만 가져오고 모든 필요한 정보를 얻기 위해 pid을 사용하도록 필터링 할 수 있습니다. 예!

다른 이가 동일한 문제를 겪는 데 도움이되기를 바랍니다.

+1

M 너 기뻤어! –

0

왜 그런지 모르겠지만 이상한 일이 여기 일어나고 있습니다. 나는 당신의 질의 -를했을 때 나는 내가 ID로 SELECT uid2 FROM friend WHERE uid1 = me() 교체 비트와 일 쿼리를 파고 후, 그 다음

Request failed

있어!

그래서 해결책으로 먼저 친구의 목록을 얻기 위해 시도 할 수 :

SELECT uid2 FROM friend WHERE uid1 = me() 

그런 다음

SELECT pid, src 
FROM photo 
WHERE 
    owner IN (ID1, ID2, ID3 ...) 
    OR pid IN (
    SELECT pid FROM photo_tag 
    WHERE subject IN (ID1, ID2, ID3 ...) 
) 
ORDER BY created DESC 
LIMIT 50 OFFSET 0 

이상한 된 직후 쿼리에이 결과를 사용을하지만, 이것은거야 작업!

+0

모든 친구의 ID를 사용 해본 적이 있습니까? 사람들은 FQL 쿼리에 글자 수 제한이 있는지 많은 사람들이 궁금해 할 것입니다 ... – Mortalus

+0

죄송합니다. 모든 친구의 ID로 시도했지만 쿼리가 "요청 실패"를 반환하는 것으로 보입니다. 제한이있는 것 같습니다. 그러나 그것의 특성 한계. 최고 50 최근 사진을 얻을 수있는 방법의 다른 아이디어? – Mortalus

+0

시간이 초과되지 않는다고 확신합니까? – Igy