Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/108.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS中事件的FQL查询不';行不通_Ios_Events_Facebook Fql - Fatal编程技术网

iOS中事件的FQL查询不';行不通

iOS中事件的FQL查询不';行不通,ios,events,facebook-fql,Ios,Events,Facebook Fql,下面是我的FQL查询,用于检索用户活动的场地: NSString* fql1 = [NSString stringWithFormat: @"SELECT venue from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me())"]; NSString* fql2 = [NSString stringWithFormat:

下面是我的FQL查询,用于检索用户活动的场地:

    NSString* fql1 = [NSString stringWithFormat:
                      @"SELECT venue from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me())"];
    NSString* fql2 = [NSString stringWithFormat:
                      @"SELECT name FROM page WHERE page_id IN (SELECT venue.id FROM #event_info)"];
    NSString* fqlStr = [NSString stringWithFormat:
                     @"{\"event_info\":\"%@\",\"event_venue\":\"%@\"}",fql1,fql2];
    NSDictionary* params = [NSDictionary dictionaryWithObject:fqlStr forKey:@"queries"];

    FBRequest *fql = [FBRequest requestWithGraphPath:@"fql.query" parameters:params HTTPMethod:@"POST"];

    [fql startWithCompletionHandler:^(FBRequestConnection *connection,
                                      id result,
                                      NSError *error) {
        if (result) {
            NSLog(@"result:%@", result);
        }
        if (error) {
            NSLog(@"error:%@", error);
        }
    }];
查询本身很好,我在GraphAPI浏览器中尝试了它。但我得到了一个错误:

error:Error Domain=com.facebook.sdk Code=5 "The operation couldn’t be completed. (com.facebook.sdk error 5.)" UserInfo=0x1f01da20 {com.facebook.sdk:HTTPStatusCode=403, com.facebook.sdk:ParsedJSONResponseKey={
    body =     {
        error =         {
            code = 240;
            message = "(#240) Requires a valid user to be specified (either via the session or via the API parameter for specifying the user.";
            type = OAuthException;
        };
    };
    code = 403;
}, com.facebook.sdk:ErrorSessionKey=<PFReceptionist: 0xb2426b0>}
error:error Domain=com.facebook.sdk code=5“操作无法完成。(com.facebook.sdk error 5.)”UserInfo=0x1f01da20{com.facebook.sdk:HTTPStatusCode=403,com.facebook.sdk:ParsedJSONResponseKey={
正文={
错误={
代码=240;
message=“(#240)要求指定有效的用户(通过会话或通过用于指定用户的API参数)。”;
类型=OAutheException;
};
};
代码=403;
},com.facebook.sdk:ErrorSessionKey=}

我做错了什么?这不是我对会话的第一次查询,我已请求用户\u事件权限,对事件的简单非FQL查询工作正常。

以下是它的外观。如果出现错误,请更正我

NSString *query =
@"{"
@"'event_info':'SELECT eid, venue, name, start_time, end_time, creator, host, attending_count from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me())',"
@"'event_venue':'SELECT name, location, page_id FROM page WHERE page_id IN (SELECT venue.id FROM #event_info)',"
@"}";
NSDictionary *queryParam = [NSDictionary dictionaryWithObjectsAndKeys:
                            query, @"q", nil];

[FBRequestConnection startWithGraphPath:@"/fql" parameters:queryParam
                    HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection,
                    id result, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", [error localizedDescription]);
    } else {

        NSArray* data = [result objectForKey:@"data"];
        NSArray* events = [((NSDictionary*) data[0]) objectForKey:@"fql_result_set"];
        NSArray* venues = [((NSDictionary*) data[1]) objectForKey:@"fql_result_set"];

        NSLog(@"Result: %@", result);
    }        
}

这是它的样子。如果有错误,请纠正我

NSString *query =
@"{"
@"'event_info':'SELECT eid, venue, name, start_time, end_time, creator, host, attending_count from event WHERE eid in (SELECT eid FROM event_member WHERE uid = me())',"
@"'event_venue':'SELECT name, location, page_id FROM page WHERE page_id IN (SELECT venue.id FROM #event_info)',"
@"}";
NSDictionary *queryParam = [NSDictionary dictionaryWithObjectsAndKeys:
                            query, @"q", nil];

[FBRequestConnection startWithGraphPath:@"/fql" parameters:queryParam
                    HTTPMethod:@"GET" completionHandler:^(FBRequestConnection *connection,
                    id result, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", [error localizedDescription]);
    } else {

        NSArray* data = [result objectForKey:@"data"];
        NSArray* events = [((NSDictionary*) data[0]) objectForKey:@"fql_result_set"];
        NSArray* venues = [((NSDictionary*) data[1]) objectForKey:@"fql_result_set"];

        NSLog(@"Result: %@", result);
    }        
}