我正在尝试使用FQL进行搜索。 使用Graph API,它可以工作,但有更多选项使用FQL。 使用像
这样的东西https://graph.facebook.com/search?q=myquery&access_token=mytoken
效果很好。
我正在寻找FQL中的等价物。
我必须在这里写什么查询
https://api.facebook.com/method/fql.query?query=SELECT%20post_id%2C%20actor_id%2C%20target_id%2C%20message%20FROM%20stream&access_token=mytoken
上面的查询给了我
Parser error: unexpected end of query
我想搜索所有公开信息。 我一直在寻找,但我没有找到任何解决方案。
感谢。
答案 0 :(得分:4)
要搜索字符串的公开帖子,您需要使用Graph API,然后在脚本中过滤这些帖子。我不认为在FQL中搜索所有公开帖子是可能的。虽然FQL更强大,但它也更有限。
您收到错误,因为您的查询中没有“WHERE”子句。这在FQL中是必需的。
限制是因为您必须在WHERE查询中使用至少一个索引列。对于流表格,您必须通过post_id
指定发布信息,通过source_id
或filter_key
指定用户,或通过xid
指定直播信息流。索引字段在文档站点上标有*
。
例如,[this FQL] [1]
SELECT post_id,actor_id,target_id,message FROM stream WHERE filter_key = 'others'
AND strpos(message, 'the') >= 0
会在您的访问令牌所有者的墙上显示所有尚未由所有者发布的帖子,其中包含字符串“the”。这是你能得到的最好的。如果帖子在墙上看不到,那么你就不会收到帖子。
如果您试图省略索引字段,FQL将抛出“您的语句不可索引”错误。
[1]:SELECT post_id,actor_id,target_id,message FROM stream WHERE filter_key ='others'和strpos(message,'the')> = 0