FQL查询导致601解析错误:意外'_'

时间:2011-12-15 02:39:13

标签: facebook-fql fql.multiquery

让我先说一下,我的代码似乎适用于我测试过但只有一个用户。

我正在使用以下多重查询来获取用户的相册并覆盖图像数据:

{
   "album_query": " SELECT aid, object_id, name, modified, size, link, cover_pid FROM album WHERE owner = me() ORDER BY modified DESC",
   "cover_query": " SELECT pid, src_small, src_small_width, src_small_height FROM photo WHERE pid IN (SELECT cover_pid FROM #album_query)"
}

查询按预期工作。它返回的援助是100002647632588_33813和100002647632588_19303。请注意,这是我见过的唯一一个援助中有“_”的实例。

我的猜测是这就是问题所在,但继续前进。

稍后我运行以下FQL查询以获取给定相册中的最新9张照片:

SELECT pid, object_id, src, src_width, src_height, src_big, src_big_width, src_big_height, modified FROM photo WHERE aid = 100002647632588_19303 ORDER BY modified DESC LIMIT 0, 9

我收到以下回复:

  

{error_code:“601”,error_msg:“解析器错误:位置138意外'_19303'。”,...}

这看起来像Facebook上的一个错误,因为我使用了他们提供的ID,但我希望更多的眼睛会让我感到厌烦。

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

你需要把“”围绕援助 - “100002647632588_19303”或使用%22来正确地逃避它,所以它读作字符串而不是数字 -

像这样 -

SELECT pid, object_id, src, src_width, src_height, src_big, src_big_width, src_big_height, modified FROM photo WHERE aid = "100002647632588_19303" ORDER BY modified DESC LIMIT 0, 9

SELECT pid, object_id, src, src_width, src_height, src_big, src_big_width, src_big_height, modified FROM photo WHERE aid = %22100002647632588_19303%22 ORDER BY modified DESC LIMIT 0, 9