【问题标题】:Querying Facebook Open Graph API with wildcards?使用通配符查询 Facebook Open Graph API?
【发布时间】:2011-02-21 18:22:42
【问题描述】:

好的,基本上我希望能够使用通配符查询 Facebook Open Graph API 以构建电影/音乐/等的自动完成功能。

这样的事情可以正常工作: https://graph.facebook.com/search?q=twilight&type=page

但部分匹配不起作用: https://graph.facebook.com/search?q=twilig&type=page

在末尾加上 % 似乎会产生更多结果,所以我想我可能走在正确的轨道上,但仍然不太正确: https://graph.facebook.com/search?q=twilig%&type=page

我找不到任何关于使用通配符的文档。有人有什么想法吗?

【问题讨论】:

    标签: facebook facebook-graph-api facebook-opengraph


    【解决方案1】:

    您需要使用 FQL 和 strpos 函数,例如:

    SELECT page_id,name 
    FROM page 
    WHERE strpos(lower(name),"incep") >=0 
    AND page_id IN (
        SELECT page_id 
        FROM page_fan 
        WHERE uid=me() 
        AND type="MOVIE"
    )
    

    这将返回(对我而言):

    [
      {
        "page_id": 91290503700,
        "name": "Inception"
      }
    ]
    

    如您所见,我使用了较低的方法 AND 在查询中使用了小写字母以确保查询匹配。

    【讨论】:

    • 啊,所以这似乎只适用于当前用户在其个人资料中已有的项目。有没有办法查询所有项目?我试过这个(没用): SELECT page_id,name FROM page WHERE strpos(lower(name),"incep") >=0
    • @JarinUdom:不,从page 表...您需要查询page_idname 的可索引字段。在name 字段上使用strpos 不会 计数,但使用name = "Inception" 之类的东西会起作用,这就是您所面临的情况(当然这是预期的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 2012-02-11
    • 2012-11-29
    相关资源
    最近更新 更多