【问题标题】:Facebook FQL Query (#601) Parser error: unexpected '#' at position 58Facebook FQL 查询 (#601) 解析器错误:第 58 位出现意外的“#”
【发布时间】:2012-08-15 17:33:47
【问题描述】:

这是我第一次无法自己找到错误的解决方案。 我尝试执行 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.

有人有解决办法吗?

【问题讨论】:

    标签: facebook-graph-api facebook-php-sdk facebook-fql


    【解决方案1】:

    问题似乎是您不能将子查询命名为与保留的 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。

    【讨论】:

    • 嘿,谢谢!这个解决方案是有效的;)我希望你不会花很长时间才能弄清楚;)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2020-04-23
    • 1970-01-01
    相关资源
    最近更新 更多