我制作了一个页面标签应用程序。应用程序显示一些项目,每个项目都有一个类似的按钮。像附加到相应url项目的按钮。我需要向喜欢的用户展示,这些元素中的一些文字已经收集了10多个喜欢。 所以,我写这段代码:
// Get a link statistics
$link_stat = $fb->api(
array(
'method' => 'fql.query',
'query' => 'SELECT like_count FROM link_stat WHERE url="http://myurl.com/item1.html"'
)
);
if ((int)$link_stat[0]['like_count'] > 10)
{
//Get like by current user_id and link object_id
$like = $fb->api(
array(
'method' => 'fql.query',
'query' => 'SELECT user_id, object_id FROM like WHERE user_id=me() AND object_id IN (SELECT id FROM object_url WHERE url="http://myurl.com/item1.html")'
)
);
var_dump($like);
}
我根据请求权限运行此代码* user_likes *和* read_stream *,但它输出array(0) { }
。
问题是,我如何知道当前用户喜欢相应的链接?
答案 0 :(得分:1)
哦,嘘......我没注意到有一张桌子 url_like (或者最近出现了?)。 我做了这个FQL查询,它返回了所需的响应:
SELECT user_id FROM url_like WHERE user_id = me() AND url = "http://myurl.com/item1.html"
Cpilko,非常感谢你! =)
答案 1 :(得分:0)
你可以尝试重写你的查询,以另一种方式去做。查看您的网址是否存在于用户的喜欢中。
这对我有用:
SELECT url, id, type, site FROM object_url WHERE id IN (SELECT object_id FROM like
WHERE user_id=me()) AND strpos(url, "myurl.com/item1") >= 0