让我先说一下,我的代码似乎适用于我测试过但只有一个用户。
我正在使用以下多重查询来获取用户的相册并覆盖图像数据:
{
"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,但我希望更多的眼睛会让我感到厌烦。
感谢您的帮助。
答案 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