Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook graph api 获取Facebook用户的第一条评论_Facebook Graph Api_Facebook Fql - Fatal编程技术网

Facebook graph api 获取Facebook用户的第一条评论

Facebook graph api 获取Facebook用户的第一条评论,facebook-graph-api,facebook-fql,Facebook Graph Api,Facebook Fql,我正在尝试将Facebook API集成到我的web应用程序中。我想通过查询最早的评论来检查用户加入Facebook的大致时间,如下所示: SELECT text,time FROM comment WHERE fromid=me()按时间排序ASC LIMIT 1 然而,我得到了一个错误的说法: “message”:“您的语句不可索引。WHERE子句必须包含可索引列。 如何解决此问题 谢谢。带有WHERE子句的FQL查询必须包含一个可索引列,如中所示(它们现在用星号标记,并显示在支持的基本WH

我正在尝试将Facebook API集成到我的web应用程序中。我想通过查询最早的评论来检查用户加入Facebook的大致时间,如下所示:

SELECT text,time FROM comment WHERE fromid=me()按时间排序ASC LIMIT 1

然而,我得到了一个错误的说法:

“message”:“您的语句不可索引。WHERE子句必须包含可索引列。

如何解决此问题


谢谢。

带有
WHERE
子句的FQL查询必须包含一个可索引列,如中所示(它们现在用星号标记,并显示在支持的基本WHERE子句部分中)

fromid
不是可索引的列,因此您的
WHERE
子句不能只是此列上的一个条件


我认为不可能发现用户何时通过Graph API或FQL加入Facebook;Graph API用户模式与
用户表非常接近。

注释表用于fb:comments,因此您需要首先使用适当的表。这将是状态表

但是 如果第一篇文章来自另一个用户怎么办

然后我们应该使用流表。新闻提要中的第一个项目理论上应该在加入日期之后(为什么在之前显示项目?),这是假设API保存了新闻提要的所有数据

因此,这将涉及到播放流、过滤键和创建时间



嗨,Richard,我没有在
WHERE
语句中使用
time
。我使用了
fromid
,并且这个变量没有索引,所以我需要一种方法来解决这个问题。Doh,误读你的查询;编辑我的答案以进行修复。我无法发现用户何时加入Facebook。第一次评论的日期无论如何都不准确。在很多情况下无论如何,api只提供最新数据。phwd:谢谢你的建议。我尝试了状态表,但意识到早期加入Facebook的朋友(包括我自己)在一开始(2004年至2007年)都没有状态。我不确定这项功能当时是否可用。因此,这不是加入Facebook的好时机。@AdamNYC抱歉,这是API的限制,我只是澄清一下,您查询的表是错误的…@AdamNYC
注释表是fb:comments
意思是我们的Facebook注释插件b站点不等同于用户墙上/时间线上的状态消息或帖子。啊,谢谢你的提示。我想我应该从like表中提取。
 SELECT status_id, message, time FROM status WHERE uid=me() ORDER BY time ASC LIMIT 1