Best way to get common “likes” from public info pa

2019-07-19 19:25发布

I'm trying to get a list of common likes (public) between a user and his friends. I thought this FQL query would work but I'm getting an unknown user error:

--get page_id that you have and any of your friends have

https://api.facebook.com/method/fql.query?query=
select uid, page_id from page_fan where uid in (SELECT uid2 FROM friend WHERE uid1 = me()) and page_id in (select page_id from page_fan where uid= me())
&access_token=ABC

I'm getting this error:

<error_response><error_code>1</error_code><error_msg>An unknown error occurred</error_msg></error_response>

Any suggestions?

2条回答
Viruses.
2楼-- · 2019-07-19 19:46

It seems that the result set is way to big for the API to handle. Your best bet is to try to limit the result set by either query a set of friends against the user's like or query one, two ...etc pages at a time (if that also didn't work try to LIMIT your friends to say 100 to make sure you are actually getting something). Example of a query:

select uid, page_id 
from page_fan 
where uid in (
    SELECT uid2 
    FROM friend 
    WHERE uid1 = me()
) and page_id in (
    select page_id 
    from page_fan 
    where uid= me() 
    LIMIT 1
)

Obviously there is no offset in FQL. So first, you need to retrieve the user's likes and then query against them. You can always use the batch api to make multiple calls in a single batch call.

查看更多
Root(大扎)
3楼-- · 2019-07-19 19:51

SELECT page_id from page_fan WHERE uid = me() and page_id IN ( SELECT page_id from page_fan WHERE uid = give one hid here )

查看更多
登录 后发表回答