我如何知道当前用户喜欢相应的链接?

时间:2012-05-17 11:28:00

标签: facebook facebook-like facebook-fql

我制作了一个页面标签应用程序。应用程序显示一些项目,每个项目都有一个类似的按钮。像附加到相应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) { }。 问题是,我如何知道当前用户喜欢相应的链接?

2 个答案:

答案 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