FQL您的陈述无法建立索引,但可以在控制台中使用 [英] FQL Your statement is not indexable, but fine in console

查看:96
本文介绍了FQL您的陈述无法建立索引,但可以在控制台中使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此查询进行FQL:

I'm using this query for FQL:

SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="10151088306597851" ORDER BY like_info DESC 

在控制台中工作正常,请检查:

which works fine in the console, check: https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20pid%2C%20object_id%2C%20caption%2C%20like_info%2C%20comment_info%2C%20src%2C%20src_small%2C%20src_big%2C%20images%20FROM%20photo%20WHERE%20album_object_id%3D%2210151088306597851%22%20ORDER%20BY%20like_info%20DESC

但是当我将Javascript SDK与FB.api()方法一起使用时,它将失败,并显示错误604您的语句不可索引.WHERE子句必须包含可索引的列.在从 http://developers.facebook.com/docs/reference/fql 但是根据表"photo"的文档,"album_object_id"是可索引的.

But when I use the Javascript SDK with FB.api() method it fails with error 604 "Your statement is not indexable. The WHERE clause must contain an indexable column. Such columns are marked with * in the tables linked from http://developers.facebook.com/docs/reference/fql" But according to the docs of table "photo" "album_object_id" IS indexable..

这是我的Javascript代码:

This is my Javascript code:

    if (album_object_id) {
        var query = 'SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="' + album_object_id + '" ORDER BY like_info DESC';
        //console.log(query);return;
        FB.api('/fql?q=' + encodeURI(query), callback);
    }

当我记录查询并将其复制/粘贴到图形API控制台时,它工作正常.

When I log query and copy/paste it into the graph API console, it works fine..

任何线索?

欢呼 舍尔德

推荐答案

我认为encodeURI在此语法上引入了查询编码问题.以下代码可以正常工作,并返回82个项目:

I think there is a query encoding issue introduced by encodeURI on this syntax. The following code works perfectly and returns 82 items:

var query = 'SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="10151088306597851" ORDER BY like_info DESC';

FB.api('/fql', {q: query}, function(r) {
        console.log(r)
    });
}

这篇关于FQL您的陈述无法建立索引,但可以在控制台中使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆