Получить информацию о друзьях из Facebook на моем приложении для iPhone - PullRequest
0 голосов
/ 19 марта 2012

Я разрабатываю приложение для iPhone, которое использует Facebook. Мне нужно получить свои данные (данные текущего пользователя).

Я уверен, что сделал правильный вход в систему и получил соответствующие разрешения.

Теперь

Я хочу получить NSArray с данными и распечатать их с помощью NSLog.

Я сделал это для списка друзей, и у меня нет проблем:

-(IBAction)friendsInfo:(id)sender{

   //  get the logged-in user's friends
   [facebook requestWithGraphPath:@"me/friends" andDelegate:self];

  }

- (void)request:(FBRequest *)request didLoad:(id)result {
    //ok so it's a dictionary with one element (key="data"), which is an array of dictionaries, each with "name" and "id" keys
    items = [(NSDictionary *)result objectForKey:@"data"];
    for (int i=0; i<[items count]; i++) {
        NSDictionary *friend = [items objectAtIndex:i];
        long long fbid = [[friend objectForKey:@"id"]longLongValue];
        NSString *name = [friend objectForKey:@"name"];
        NSLog(@"id: %lld - Name: %@", fbid, name);
    }
}

Но для моей информации тот же метод не работает:

-(IBAction)myInfo:(id)sender{

    // get information about the currently logged in user
    [facebook requestWithGraphPath:@"me" andDelegate:self];

     }

Может кто-нибудь мне помочь?

Ответы [ 4 ]

1 голос
/ 09 мая 2012
          -(void)addList:(FBSession *)session {
    NSString* fql = [NSString stringWithFormat:
                     @"select uid from user where uid == %lld",    session.uid];

    NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];
    sessionView = session;
    [[FBRequest requestWithDelegate:self] call:@"facebook.friends.get" params:params];


}

         - (void)request:(FBRequest*)request didLoad:(id)result {
    if(myList==nil) {
        NSArray* users = result;
        myList =[[NSArray alloc] initWithArray: users];
        for(NSInteger i=0;i<[users count];i++) {
            NSDictionary* user = [users objectAtIndex:i];
            NSString* uid = [user objectForKey:@"uid"];
            NSString* fql = [NSString stringWithFormat:
                         @"select name from user where uid == %@", uid];

            NSDictionary* params = [NSDictionary dictionaryWithObject:fql          forKey:@"query"];
            [[FBRequest requestWithDelegate:self] call:@"facebook.fql.query"     params:params];
        }
    }
    else {
        NSArray* users = result;
        NSDictionary* user = [users objectAtIndex:0];
        NSString* name = [user objectForKey:@"name"];
        txtView.text=[NSString     localizedStringWithFormat:@"%@%@,\n",txtView.text,name];
    }
}
1 голос
/ 21 марта 2012

используйте эту функцию, чтобы получить информацию о себе (войдя в систему)

- (void)fetchUserDetails {
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"SELECT uid, name, pic FROM user WHERE uid=me()", @"query",nil];

[fb requestWithMethodName:@"fql.query"
                                 andParams:params
                             andHttpMethod:@"POST"
                               andDelegate:self];

}

0 голосов
/ 09 мая 2012
NSString* fql = [NSString stringWithFormat:@"select uid,name from user where uid == %lld", session.uid];

NSDictionary* params = [NSDictionary dictionaryWithObject:fql forKey:@"query"];
[[FBRequest requestWithDelegate:self] call:@"facebook.fql.query" params:params];
[[FBRequest requestWithDelegate:self] call:@"facebook.friends.get" params:params];
0 голосов
/ 09 мая 2012
-(IBAction)getMeFriendsButtonPressed:(id)sender {
    FbGraphResponse *fb_graph_response = [fbGraph doGraphGet:@"me/friends" withGetVars:nil];
    NSLog(@"getMeFriendsButtonPressed:  %@", fb_graph_response.htmlResponse);

    NSDictionary *DictTmp = [fb_graph_response.htmlResponse JSONValue];
    NSMutableArray *myFriendList=[[DictTmp objectForKey:@"data"];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...