2013-05-28 82 views
2

我试图检索用户登录的事件已被邀请。虽然我是测试一些东西,我被困在这个错误,而试图此FQL查询:FQL:查询意外结束

public static List<GraphLocation> getEvents(Session session, Map<String, Object> queryParams){ 
    limpar(); 

    queryStringBuilder.append("SELECT eid, all_members_count, attending_count, declined_count, description, end_time, version, " + 
            "name, location, pic, privacy, start_time, ticket_uri, timezone, unsure_count, venue " + 
           "FROM event"); 

    if(queryParams != null && !queryParams.isEmpty()){ 
     whereClause.append(" WHERE "); 

     if(!queryParams.containsKey("dataInicio")){ 
      whereClause.append("start_time = " + formatter.format((Date) queryParams.get("dataInicio"))); 
     } 
    } 

    queryStringBuilder.append(whereClause.toString()); 

    Bundle params = new Bundle(); 
    params.putString("q", queryStringBuilder.toString()); 

    Request request = new Request(session, "/fql", params, HttpMethod.GET, 
      new Request.Callback() { 

       @Override 
       public void onCompleted(Response response) { 
        System.out.println(response.toString()); 
       } 
      }); 

    Request.executeBatchAsync(request); 

    return null; 
} 
private static void limpar(){ 
    queryStringBuilder = new StringBuilder(); 
    whereClause = new StringBuilder(); 
} 

这里是链接了图像误差上ImageShack的:http://img163.imageshack.us/img163/6848/erroew.png

如果有人能告诉我为什么发生这个问题我会非常高兴,无论如何,如果有人能够解释我如何抓住特定用户被邀请参加的活动,我会更加高兴。

非常感谢。

+0

你指的是一个错误,但是就我所见,这个错误并未包含在问题中。 –

+0

对不起,先生,我忘记了,顺便说一句,我刚刚添加了一个错误图像的链接,并感谢您花时间帮助像我这样的人。 –

回答

1

FQL查询需要一个WHERE语句,这是“异常结束查询”异常的原因。

你正在寻找的查询是这样的一个

SELECT eid, all_members_count, attending_count, declined_count, description, end_time, version, name, location, pic, privacy, start_time, ticket_uri, timezone, unsure_count, venue 
       FROM event WHERE eid IN (SELECT eid FROM event_member WHERE uid = XXXXXXX) 
       ORDER BY start_time asc 

替换XXXXXXX与Facebook的用户ID。

为了在将FQL查询集成到代码之前测试FQL查询,可以使用Facebook Graph API Explorer,如here

注意:不要忘记添加“user_events”权限到您的Facebook应用程序。

+0

工作!感谢您的帮助,并再次感谢您的快速回复。 –