Facebook FQL:如何在comment social plugin中检索与其他提供商登录的comment用户的用户名/名称?
我刚刚建立了一个很好的方法,通过FB的Comment Social插件,使用PHP和OpenGraph/FQL请求(我没有使用Facebook SDK)获取我网站上的评论 我需要它在相对的iOS应用程序中显示评论。实际上,这个方法检索所有的评论,如果有相关的答案,以及发表评论的用户的用户名/pic 这个问题来自与另一个提供者签署的用户的评论。FQL结果为:Facebook FQL:如何在comment social plugin中检索与其他提供商登录的comment用户的用户名/名称?,facebook,facebook-fql,facebook-comments,Facebook,Facebook Fql,Facebook Comments,我刚刚建立了一个很好的方法,通过FB的Comment Social插件,使用PHP和OpenGraph/FQL请求(我没有使用Facebook SDK)获取我网站上的评论 我需要它在相对的iOS应用程序中显示评论。实际上,这个方法检索所有的评论,如果有相关的答案,以及发表评论的用户的用户名/pic 这个问题来自与另一个提供者签署的用户的评论。FQL结果为: "fromid": XXXXXXXXXXXXXXX, //first ID, usually is uid in "u
"fromid": XXXXXXXXXXXXXXX, //first ID, usually is uid in "user" table
"text": "comment text",
"time": 1345979042,
"comments": {
"data": [
{
"id": "YYYYYYYYYYYYYYYYYY", //not relevant, URL id
"from": {
"name": "externaluser",
"id": ZZZZZZZZZZZZZZZ //another ID, usually uid too, different from XXXXX
},
"message": "test reply",
"created_time": 1345979528
}
],
"count": 1
}
该结果正确地给出了注释文本,但ID不在用户表中。“reply”正确地返回了名称“externaluser”,但我在查询FQL表的任何地方都找不到它
我确信这个外部用户存储在Facebook数据库的某个地方!有人能告诉我检索用户数据的正确关系吗
谢谢。您可以尝试以下FQL:
SELECT id, name, username FROM user WHERE third_party_id = ZZZZZZZZZZZZZZZ
如果这不能让您找到用户,那么我认为您无法从FB服务器获得详细信息。我们遇到了相同的问题,最终找到了一个FQL查询,该查询为我们提供了发表评论的人的姓名。当从流中提取数据时,实际上我们需要两组名称,发布到流中的人的名称和评论者的名称。需要三重查询来获取数据。这是一个相当大的查询,因此我将其缩减为仅相关字段
{"q1":"SELECT source_id, likes, comments, actor_id, post_id FROM stream WHERE filter_key IN ( SELECT filter_key FROM stream_filter WHERE uid = me())",
"q2":"SELECT id, username, name FROM profile WHERE id IN (SELECT actor_id FROM #q1)",
"q3":"SELECT id,name,username FROM profile WHERE id IN (SELECT fromid FROM comment WHERE post_id IN (SELECT post_id FROM #q1))"}
查询1提供流中的项目。
查询2为您提供发布到流的人员的信息。您需要从q1中的参与者id到q1中的id进行交叉引用。
查询3为您提供了对q1中返回的任何内容发表评论的人员的信息。您需要从q1.comments.comment\u列表中的formid到q1中的id进行交叉引用
希望这能有所帮助。是的,我在看文档,我看到了“第三方id”,但运气不好。对其进行查询不会返回任何结果。奇怪的是,我上面的查询返回两个不同的id,一个用于注释(“fromid”),另一个用于答案(“from”->“id”)。两人都一无所获。。如果我用图形浏览器尝试它们,它会显示“错误请求”。马。