2014-01-30 1 views
0

안녕하세요. 카운터처럼 URL을 구현하려하지만 내 친구들 만 좋아하는 계정을 원합니다. URL을 좋아하는지 내 친구의 많은 짧은 긴 이야기 "http://www.domain.com/something" Facebook 카운트 친구가 특정 URL을 좋아합니다.

내가 성공하지 지금이 이일을하려고했는데, 여기에 내가 지금까지

"query1":"SELECT user_id FROM like WHERE object_id IN (SELECT id FROM object_url WHERE url = '" + url + "') LIMIT 5000" 
"query2":"SELECT url FROM url_like WHERE user_id IN (SELECT uid1 FROM friend WHERE uid2 = me()) AND strpos(url, '"+url+"') = 0" 
"query3":"SELECT total_count, like_count, click_count FROM link_stat WHERE url='"+url+"'", 
"query4":"SELECT url FROM url_like WHERE user_id IN (SELECT uid1 FROM friend WHERE uid2 = me())" 

일부 실험하고있어 일부 쿼리입니다 그들 중 하나가 fql.multyquery에서 함께 작동합니다. 어쨌든 친구 계정으로 테스트를 계속하고 결과가 틀리면 아무 것도 작동하지 않고 실망감을 느낍니다.

나는 실제적인 예제 나 지침을 정말 고맙게 생각합니다.

PS : (. 응용 프로그램은 모든에 대한 모든 권한을 가지고)

+0

나는 [비슷한 질문에] (http://stackoverflow.com/questions/21459792/facebook-fql-url-likes-of-friends-work-strange/21647892#21647892) 답변을 게시했습니다. 아웃 – arty

답변

0
SELECT url FROM url_like WHERE user_id IN (SELECT uid1 FROM friend WHERE uid2 = me()) AND url = "<yourURL>" 

작동해야하지만 그렇지 않습니다.

요청이 5 초 이상 걸리면 Facebook 시간이 초과됩니다. FB를 요청하는 데이터를 얻으려면 각 친구가 좋아하는 각 URL을 검색해야합니다. 또한 복잡성은 친구의 양에 달려 있습니다. 그러나 확실히 그것은 복잡한 검색입니다. 게다가 FQL은 복잡한 SQL 문을 불가능하게 만드는 SQL 구문이 부족합니다. 제 제안은 좋아하는 모든 친구 링크를 쿼리하고 그 링크를 반복하는 것입니다. 의사 코드에서

샘플 :

X = 50 
count = 0 
friendNumber = queryFriendNumber(); 
for (Y=0;Y<friendNumber; Y+=X) 
    data += SELECT url FROM url_like WHERE user_id IN (SELECT uid1 FROM friend WHERE uid2 = me() LIMIT X OFFSET Y) 
data.forEach(url) 
    if url == "http://miurl.com" then 
     count++ 
print(count) 

당신이 기억 독서 친구의 좋아하는에 대한 friends_likes 권한이 필요합니다.