这是我第一次无法找到自己的错误解决方案。 我尝试执行一个fql查询,但是我得到了一个非常奇怪的回答:/
FQL:
{
"477215715631180":
"SELECT name, start_time, location, creator, pic_square
FROM event WHERE eid=477215715631180",
"creator_477215715631180":
"SELECT name FROM profile WHERE id IN (SELECT creator FROM #477215715631180)"
}
响应:
(#601) Parser error: unexpected '#' at position 58.
职位58:
... FROM event WHERE ...
有没有人有解决方案?
答案 0 :(得分:3)
问题似乎是您不能拥有与保留的FQL项目相同的子查询。您在此处使用了查询代号的ID。 Facebook不喜欢这样。
我能够通过在子查询名称的开头添加“q”来运行查询:
{
"q477215715631180":
"SELECT name, start_time, location, creator, pic_square
FROM event WHERE eid=477215715631180",
"creator_477215715631180":
"SELECT name FROM profile WHERE id IN (SELECT creator FROM #q477215715631180)"
}
对于您的解析器错误,Facebook的消息不会引用整个FQL多重查询。 Facebook会单独解析每个查询,并仅为其正在解析的当前查询引发错误。因此,在您的情况下,第一个查询解析正常,然后此错误来自您的creator_
查询,#
位于第58位。