Facebook graph api 使用javascript sdk的Facebook FQL问题
大家好, 我执行以下查询以获取用户状态:Facebook graph api 使用javascript sdk的Facebook FQL问题,facebook-graph-api,facebook-fql,facebook-javascript-sdk,facebook-apps,Facebook Graph Api,Facebook Fql,Facebook Javascript Sdk,Facebook Apps,大家好, 我执行以下查询以获取用户状态: FB.api( { method: 'fql.query', query: 'SELECT message FROM statuses WHERE uid = ' + userId }, function(data) { // do something with the response } )) 当结果数大于0时,它非常有效 但是当没有结果时,根本不会调用回调函数
FB.api(
{
method: 'fql.query',
query: 'SELECT message FROM statuses WHERE uid = ' + userId
},
function(data) {
// do something with the response
}
))
当结果数大于0时,它非常有效
但是当没有结果时,根本不会调用回调函数
我需要知道是否有0行从这个查询返回,有什么办法吗
谢谢:)当查询没有结果时,您应该得到一个空数组
此外,没有名为“status”的FQL表,它是“status”。首先,
status
表不存在。您应该使用表
始终调用回调,但您应该正确地检查。只需将此粘贴到:
授予对状态的访问权限
获取状态
window.getStatuses=函数(){
FB.api(
{
方法:“fql.query”,
查询:“从uid=me()和时间<315532800的状态中选择消息”
},
功能(数据){
如果(!isEmpty(数据)){
for(var输入数据){
var obj=数据[键];
console.log(obj['message'])
}
}否则{
console.log(“数据为空”)
}
});
};
函数isEmpty(obj){
用于(obj中的var prop){
if(对象拥有自己的财产(财产))
返回false;
}
返回true;
}
这里我检查1980年1月1日之前的状态,以确保返回空结果。在控制台中,您应该注意数据为空
响应
<fb:login-button scope="read_stream">
Grant access to statuses
</fb:login-button>
<button onclick="getStatuses()">Get Statuses</button>
<script>
window.getStatuses = function() {
FB.api(
{
method: 'fql.query',
query: 'SELECT message FROM status WHERE uid = me() AND time < 315532800'
},
function(data) {
if(!isEmpty(data)) {
for(var key in data) {
var obj = data[key];
console.log(obj['message'])
}
} else {
console.log("data is empty")
}
});
};
function isEmpty(obj) {
for(var prop in obj) {
if(obj.hasOwnProperty(prop))
return false;
}
return true;
}
</script>