[英]iphone dev get user profile name, email using fbconnect api
i am using this for wall posting on facebook from my iphone app 我正在用它从我的iPhone应用程序在Facebook上发布墙贴
kAppId =@"zsdgdfgjhjk";
if (!kAppId) {
NSLog(@"missing app id!");
exit(1);
return nil;
}
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
_permissions = [[NSArray arrayWithObjects:
// @"read_stream", @"publish_stream", @"offline_access",@"user_events",@"friends_events",@"rsvp_event",nil] retain];
@"read_stream",@"email", @"publish_stream", @"offline_access",@"user_events",@"friends_events",@"rsvp_event",@"create_event",nil] retain];
_facebook = [[Facebook alloc] initWithAppId:kAppId
andDelegate:self];
- (IBAction)publishStream:(id)sender {
SBJSON *jsonWriter = [[SBJSON new] autorelease];
NSDictionary* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:
@"Always Running",@"text",@"http://itsti.me/",@"href", nil], nil];
NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];
NSDictionary* attachment = [NSDictionary dictionaryWithObjectsAndKeys:
@"a long run", @"name",
@"The Facebook Running app", @"caption",
@"it is fun", @"description",
@"http://itsti.me/", @"href", nil];
NSString *attachmentStr = [jsonWriter stringWithObject:attachment];
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"Share on Facebook", @"user_message_prompt",
actionLinksStr, @"action_links",
attachmentStr, @"attachment",
nil];
[_facebook dialog:@"publish.stream"
andParams:params
andDelegate:self];
}
wall posting is going good but now i want to get user's facebook profile name plus email for this i am trying that code after user login 墙上发布进行得很好,但是现在我想获取用户的Facebook个人资料名称以及电子邮件,我在用户登录后尝试使用该代码
[_facebook requestWithGraphPath:@"me?fields=id,name,email" andDelegate:self];
and 和
- (void)request:(FBRequest *)request didLoad:(id)result
{
if ([result isKindOfClass:[NSDictionary class]]){
username = [result objectForKey:@"name"];
}
}
but its not working even this fbrequest delegate method - (void)request:(FBRequest *)request didLoad:(id)result
, it is not getting called, please. 但是即使这个fbrequest委托方法也无法正常工作- (void)request:(FBRequest *)request didLoad:(id)result
,请不要调用它。 guide, I've been stuck here for a long time now. 向导,我已经在这里待了很长时间了。 Thanks in advance. 提前致谢。 Regards, Saad. 问候,萨德。
Try this way: 尝试这种方式:
[_facebook requestWithGraphPath:@"me" andDelegate:self];
and you will parse the response this way: 您将以这种方式解析响应:
- (void)request:(FBRequest *)request didLoad:(id)result {
if ([result isKindOfClass:[NSArray class]]){
result = [result objectAtIndex:0];
}
if ([result objectForKey:@"owner"]) {
}else{
NSLog(@"response is %@", result);
NSString *email =[result objectForKey:@"email"];
NSString *userFbId =[result objectForKey:@"id"];
// grab other fields
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.