使用FBSDKLoginkit获取用户名和个人资料图片
我想获得用户名和个人资料图片usig FBSDKLoginKit。 如何得到它? 我的代码在这里。使用FBSDKLoginkit获取用户名和个人资料图片
荚 'FBSDKLoginKit', '〜> 4.7'
- (IBAction)fbLoginActionClicked:(id)sender
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error");
}
else if (result.isCancelled)
{
NSLog(@"Cancelled");
}
else
{
NSLog(@"Logged in");
}
}];
}
使用FBSDKGraphRequest
类似下面的代码来获得Facebook
用户的用户名和个人资料照片。
一旦你登录,添加以下代码:
NSLog(@"Logged in");
if ([result.grantedPermissions containsObject:@"public_profile"]) {
if ([FBSDKAccessToken currentAccessToken]) {
NSMutableDictionary* parameters = [NSMutableDictionary dictionary];
[parameters setValue:@"name,picture.type(large)" forKey:@"fields"];
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:parameters]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
NSLog(@"fetched user:%@", result);
NSString *name = [[result valueForKey:@"name"] lowercaseString];
NSString *username = [name stringByReplacingOccurrencesOfString:@" " withString:@""];
NSArray *picture_arr = [result objectForKey:@"picture"];
NSArray *data_arr = [picture_arr valueForKey:@"data"];
NSString *profile_pic = [data_arr valueForKey:@"url"];
}
}];
嗨..你能回答这个问题http://*.com/questions/33802803/facebook-app-invites-notification-not-working-in-ios。如果可以,请你帮助我。 –
- (IBAction)fbLoginActionClicked:(id)sender
{
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error");
}
else if (result.isCancelled)
{
NSLog(@"Cancelled");
}
else
{
NSLog(@"Logged in %@ %@", result.token.userID, result.token.tokenString);
[self fetchUserInfo];
}
}];
}
-(void)fetchUserInfo
{
if ([FBSDKAccessToken currentAccessToken])
{
NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenString]);
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{@"fields": @"id, name, link, first_name, last_name, picture.type(large), email, birthday, bio ,location ,friends ,hometown , friendlists"}]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error)
{
NSLog(@"resultis:%@",result);
}
else
{
NSLog(@"Error %@",error);
}
}];
}
}
if ([FBSDKAccessToken currentAccessToken]) {
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:@{ @"fields" : @"id,name,picture.width(100).height(100)"}]startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
if (!error) {
NSString *nameOfLoginUser = [result valueForKey:@"name"];
NSString *imageStringOfLoginUser = [[[result valueForKey:@"picture"] valueForKey:@"data"] valueForKey:@"url"];
NSURL *url = [[NSURL alloc] initWithURL: imageStringOfLoginUser];
[self.imageView setImageWithURL:url placeholderImage: nil];
}
}];
}
嗨..你能回答这个问题http://*.com/questions/33802803/facebook-app-invites-notification-not-working-in-ios。如果可以,请你帮助我。 –
请参阅此链接http://*.com/a/30275960/4536708可能会帮你。 –