0

モバイルアプリでリクエストダイアログを使用しています。https://developers.facebook.com/docs/reference/dialogs/requests/ を読む と、

注: フィルター オプションはモバイル ダイアログでは無効になっており、ダイアログに表示される一連のユーザーには影響しません。

残念ながら、アプリがインストールされている友達だけを 1 つのダイアログに表示し、残りは別のダイアログに表示する必要があります。FB リクエスト ダイアログを使用しながら、このようにユーザーをフィルタリングする合理的な方法はありますか?

4

1 に答える 1

1

SDK にパッケージ化された Hackbook サンプル アプリを見て、これを行う方法を示すことができますが、基本的には、API 呼び出しを作成して、アプリがインストールされているユーザーを取得し、これを「」というパラメーターに渡す必要があります。提案」。

- (void)sendRequest:(NSArray *) targeted {
    NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"It's your turn, quit slacking.",  @"message",
                               nil];

    // Filter and only show targeted friends
    if (targeted != nil && [targeted count] > 0) {
        NSString *selectIDsStr = [targeted componentsJoinedByString:@","];
        [params setObject:selectIDsStr forKey:@"suggestions"];
    }

    [self.facebook dialog:@"apprequests"
                  andParams:params
                andDelegate:self];
}


- (void) sendToAppUsers {
    FBRequest *appUsersRequest = [[FBRequest alloc]
                                  initWithSession:FBSession.activeSession
                                  restMethod:@"friends.getAppUsers"
                                  parameters:nil
                                  HTTPMethod:@"GET"];
    FBRequestConnection *appUsersConnection = [[FBRequestConnection alloc] init];
    [appUsersConnection
     addRequest:appUsersRequest
     completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
         // Process the results
         NSMutableArray *friendsWithApp = [[NSMutableArray alloc] init];
         // Many results
         if ([result isKindOfClass:[NSArray class]]) {
             [friendsWithApp addObjectsFromArray:result];
         } else if ([result isKindOfClass:[NSDecimalNumber class]]) {
             [friendsWithApp addObject: [result stringValue]];
         }
         // User has friends that pass this filter
         if ([friendsWithApp count] > 0) {
             [self sendRequest:friendsWithApp];
         }
    }];
    [appUsersConnection start];
}
于 2012-10-24T23:07:09.610 に答える