这是我第一次无法自己找到错误的解决方案。
我尝试执行 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 ...
API Explorer.
有没有人有解决方案?
最佳答案
问题似乎是你不能有一个与保留的 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。
关于facebook-graph-api - Facebook FQL 查询 (#601) 解析器错误 : unexpected '#' at position 58,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12036788/