在Facebook iOS SDK中获取user_likes

时间:2014-07-13 17:49:37

标签: ios objective-c facebook api facebook-graph-api

我试图在用户使用Facebook登录我的iOS应用后获得当前用户的喜欢。我可以从用户那里获得的唯一内容是他们的个人资料(性别,语言环境等)。

如何在登录后请求获取user_likes的权限?

另外,我是否必须让Facebook团队审核我的应用程序?我已经读过某些我可能不得不去的地方。

1 个答案:

答案 0 :(得分:0)

首先,您需要为user_likes提供登录权限,如果其他人则如下:

self.LoginView.readPermissions = @ [@" basic_info",@" user_location",@" user_birthday",@" user_likes" ,@"电子邮件",@" user_relationships",@" user_interests",@" user_hometown",@" user_about_me" ,@" user_games_activity",@" user_relationship_details",@" user_religion_politics"];

self.LoginView.delegate =自我;

在您需要使用图表Api调用webService之后,只需调用方法( [self obtainUserData] ),如下所述:

- (无效)obtainUserData

{

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);

}

HopE this Helps !!