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

ari*_*ari 3 facebook-fql fql.multiquery

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

我正在使用以下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)"
}
Run Code Online (Sandbox Code Playgroud)

查询按预期工作.它返回的援助是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
Run Code Online (Sandbox Code Playgroud)

我收到以下回复:

{error_code:"601",error_msg:"解析器错误:位置138处的意外'_19303'.",...}

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

感谢您的帮助.

und*_*ned 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
Run Code Online (Sandbox Code Playgroud)

要么

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
Run Code Online (Sandbox Code Playgroud)