【问题标题】:FQL Query for facebookfacebook 的 FQL 查询
【发布时间】:2014-03-05 20:31:09
【问题描述】:

我将我所有的朋友作为一个数组使用

$graph_url = "https://api.facebook.com/method/fql.query?access_token=" . $access_token .
 "&query=SELECT+uid,name,work.position.name+FROM+user+WHERE+uid+IN+
 (SELECT+uid2+FROM+friend+WHERE+uid1+=+me())&format=json";

我想设置一个条件来获取工作职位名称为'dev'的朋友。我曾尝试FQLlike

$graph_url = "https://api.facebook.com/method/fql.query?access_token=" . $access_token .
 "&query=SELECT+uid,name,work.position.name+FROM+user+WHERE+uid+IN+
(SELECT+uid2+FROM+friend+WHERE+uid1+=+me())+AND+strpos(work.position.name,'dev')>=0&format=json";

但它导致我的数组为空,即使其中一些满足条件。谁能建议我正确的方法来解决这个问题..在此先感谢。

【问题讨论】:

    标签: php facebook facebook-fql


    【解决方案1】:

    其他几个人也尝试过实现这一点,请参阅

    https://stackoverflow.com/questions/17382739/how-to-use-strpos-in-fql-query

    https://stackoverflow.com/questions/18115546/strpos-in-fql-query

    我假设您不能在包含数组而不是对象(您可以通过 object.subobject.field 引用)的字段上使用 strpos()。

    我怀疑的“证明”:如果您尝试搜索您朋友的当前位置(这是用户对象的子对象,而不是数组),它会起作用:

    SELECT uid,name,current_location FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) and strpos(current_location.city, 'M') = 0
    

    在那里,我搜索所有住在以“M”开头的城市的朋友。

    最终,如果 FQL 无法解决您的问题,您也可以在客户端解析结果。

    顺便说一句,我认为您应该为 FQL 查询使用另一个端点:

    http://graph.facebook.com/fql?q=...
    

    【讨论】:

    • 就像我写的一样,没有 afaik,建议你自己解析结果!
    • 表示获取所有数据然后需要作为数组进行搜索..?
    • 是的,您需要遍历所有用户,并通过“work”数组在用户级别进行另一个循环,以在 position.name 字段中搜索“dev”。
    • 是的,我有这个想法,但假设我有 1,00,000 个朋友,那么它不会是更好的选择吧。
    • 也许可以,但我认为没有其他方法,那么如果 FQL 本身不能提供您想要的功能,您想怎么做呢?拥有 100 万个朋友的可能性不大,我猜普通用户大约有 150-200 个。
    【解决方案2】:

    您可以使用 strpos & lower 对您已经拥有的可索引字段的某些数据子集。

    在您的示例中,您没有可索引的字段,因此您得到的是空数组。

    SELECT uid,name,work.position.name  FROM user WHERE uid IN 
    (SELECT uid2 FROM friend WHERE uid1 = me()) AND work.position.name 
    

    这个 fql 语句给出了给 work.position.name 赋值的朋友列表,然后在这个 json 对象上应用条件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多