- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用 Facebook SDK v.3.18.2
我只想要用户的名字、姓氏、电子邮件和出生日期,我得到除出生日期以外的所有信息。
我肯定做错了权限?不确定。
这里有一些代码可以帮助你找出我的问题,
[FBSession openActiveSessionWithReadPermissions:@[@"public_profile"] allowLoginUI:YES completionHandler:
^(FBSession *session, FBSessionState state, NSError *error) {
// Call the sessionStateChanged:state:error method to handle session state changes
[self sessionStateChanged:session state:state error:error];
}];
// This method will handle ALL the session state changes in the app
- (void)sessionStateChanged:(FBSession *)session state:(FBSessionState) state error:(NSError *)error
{
// If the session was opened successfully
if (!error && state == FBSessionStateOpen){
NSLog(@"Session opened");
if (FBSession.activeSession.isOpen) {
// This is not working though I'm putting it as comment
// [[FBRequest requestForMe] startWithCompletionHandler:
// ^(FBRequestConnection *connection,
// NSDictionary<FBGraphUser> *user,
// NSError *error) {
// if (!error) {
// NSLog(@"User Info : %@",user);
// }
// }];
[[FBRequest requestForGraphPath:@"me"] startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSLog(@"%@",result);
}];
}
return;
}
这是输出日志:
{
email = "email@domain";
"first_name" = Hemang;
gender = male;
id = someId;
"last_name" = Shah;
link = "https://www.facebook.com/app_scoped_user_id/someId/";
locale = "en_US";
name = "Hemang Shah";
timezone = "5.5";
"updated_time" = "some date and time";
verified = 1;
}
但是出生日期不见了,我也在我的个人资料中设置了它。
已尝试使用以下权限无效!
“user_birthdate”或“生日”
最佳答案
[FBSession openActiveSessionWithReadPermissions:@[@"email",@"user_birthday",@"public_profile"]
allowLoginUI:YES
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
switch (state) {
case FBSessionStateOpen:
[[FBRequest requestForMe] startWithCompletionHandler:^(FBRequestConnection *connection, NSDictionary<FBGraphUser> *user, NSError *error) {
if (error) {
NSLog(@"error:%@",error);
}
else
{
// retrive user's details at here as shown below
NSLog(@"FB user first name:%@",user.first_name);
NSLog(@"FB user last name:%@",user.last_name);
NSLog(@"FB user birthday:%@",user.birthday);
NSLog(@"FB user location:%@",user.location); NSLog(@"FB user gender:%@",[user objectForKey:@"gender"]);
NSLog(@"email id:%@",[user objectForKey:@"email"]);
NSLog(@"location:%@", [NSString stringWithFormat:@"Location: %@\n\n",
user.location[@"name"]]);
}
}];
break;
case FBSessionStateClosed:
case FBSessionStateClosedLoginFailed:
[FBSession.activeSession closeAndClearTokenInformation];
break;
default:
break;
}
} ];
需要引用:use this link
控制台输出是:
我附加了示例项目并检查了 - (IBAction)loginwithCustomButaction:(id)sender
the project link
关于ios - FBRequest 不返回用户生日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26139090/
我正在使用 Facebook SDK v.3.18.2 我只想要用户的名字、姓氏、电子邮件和出生日期,我得到除出生日期以外的所有信息。 我肯定做错了权限?不确定。 这里有一些代码可以帮助你找出我的问题
我正在关注 Facebook 开发者网站上的示例代码,但我无法获取我的姓名等信息。我正在使用这段代码: - (void)viewDidLoad { [super viewDidLoad];
我遵循了 Facebook 开发者网站关于将 Facebook SDK 3.1 集成到 iOS 6 中的所有说明。我的代码在 iPhone 6.0 模拟器(用户可以登录 Facebook)上完美运行,
我正在我的应用程序中实现 ShareKit。一切正常,我也摆脱了大部分警告(所有警告都是因为 ShareKit 支持 OS 2.x - 我的应用程序支持 3.2 及更高版本,所以我无论如何都不需要这些
var friendRQ: FBRequest = FBRequest(forGraphPath: "me/taggable_friends?fields=name,picture.width(66)
我在尝试将我的 Facebook SDK 升级到最新生产版本时遇到问题(FacebookSDK-3.0.8.pkg - 适用于 iOS 的 Facebook SDK 3.0(更新 1)[2012 年
我搜索了每个地方,但没有得到如何做到这一点的单个提示......我也得到了一些代码,但它不起作用......任何人都可以建议我任何教程或示例代码来做到这一点!提前致谢我正在尝试以下代码:: -(voi
我的 iPhone 应用程序中有一张本地照片,我想将它上传到 Facebook 上专用于我的应用程序的特定相册。 问题:我的应用名称以“照片”一词结尾,因此默认的 Facebook 相册是 APP_N
所以,我在iphone上做了申请。我正在使用 facebook 登录,目前正在将我的 facebooksdk 升级到最新版本。我的一些代码碰巧有错误。下面是我的代码: let request = FB
假设使用Facebook iOS SDK,我对用户的个人资料图片执行了图形请求: [FBRequest requestForGraphPath:@"me/picture"] 我会收到此错误: Resp
我正在尝试使用以下代码使用 iOS SDK 发布开放图操作: [FBRequestConnection startForUploadStagingResourceWithImage:image com
我是一名优秀的程序员,十分优秀!