1

したがって、ユーザー イベントの会場を取得するための 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);
        }
    }];

クエリ自体は問題なく、Graph API Explorer で試してみました。しかし、私はこのエラーが発生しています:

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>}

私は何を間違っていますか?セッションの最初のクエリではありません。user_events アクセス許可を要求し、イベントの単純な非 FQL クエリは正常に機能しました。

4

1 に答える 1