首先你需要为user_likes提供登录权限,如果是其他人则如下:
self.LoginView.readPermissions = @[@"basic_info",@"user_location",@"user_birthday",@"user_likes",@"email",@"user_relationships",@"user_interests",@"user_hometown" ,@"user_about_me",@"user_games_activity",@"user_relationship_details",@"user_religion_politics"];
self.LoginView.delegate=self;
之后你需要通过简单地调用方法([self gainUserData])来使用graph Api调用webService,如下所述:
-(void)获取用户数据
{
NSString *fbAccessToken = [FBSession activeSession].accessTokenData.accessToken;
NSString *fields =@"id,name,first_name,last_name,picture,permissions,installed,music,likes,email,friends,gender,birthday,email,hometown,relationship_status,interested_in,sports";
// feed is use for all action
NSString *path = [NSString stringWithFormat:@"https://graph.facebook.com/me?fields=%@",fields];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@&access_token=%@", path,fbAccessToken]];
NSLog(@"%@",url);
NSURLRequest *req=[NSURLRequest requestWithURL:url];
NSURLConnection *conn=[[NSURLConnection alloc]initWithRequest:req delegate:self];
// NSMutableData *jsondata=[[NSMutableData alloc]init];
NSMutableData *data = [[NSMutableData alloc] init];
self.receivedData = data;
[conn start];
}
//这里 receivedData 是 NSMutable Data 的一个对象
您将通过以下方法获得所需的输出:
-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
NSMutableDictionary *json=[NSJSONSerialization JSONObjectWithData:_receivedData options:NSJSONReadingMutableContainers error:nil];
NSLog(@"json: %@",json);
}
希望这有帮助!