在我的iphone应用程序中,我正在访问我的Facebook信息并将其发送到服务器。从服务器Facebook分享应该发生 我已经在FB中创建了我的应用程序,在点击同步按钮的同时,我可以进入FB登录页面。之后请求进行身份验证
但它只是要求“基本信息”而不是公共分享等(我已将其包含在我的FB应用程序中)
-(IBAction)fbConnect:(id)sender{
flag = 1;
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (appDelegate.session.isOpen) {
[self updateView];
} else {
if (appDelegate.session.state != FBSessionStateCreated) {
appDelegate.session = [[FBSession alloc] init];
}
[appDelegate.session openWithCompletionHandler:^(FBSession *session,
FBSessionState status,
NSError *error) {
[self updateView];
}];
}
NSLog(@"string issss %@",string);
}
- (void)updateView {
AppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (appDelegate.session.isOpen) {
string = [NSString stringWithFormat:@"%@",
appDelegate.session.accessToken];
NSLog(@"string issss %@",string);
NSString *urlstrng;
if(flag == 1){
urlstrng = [NSString stringWithFormat:@"https://graph.facebook.com/me?access_token=%@",string];
[self dataFetching:urlstrng];
}
if(flag == 2){
urlstrng = [NSString stringWithFormat:@"https://graph.facebook.com/me/friends? access_token=%@",string];
[self dataFetching:urlstrng];
}
} else {
string = [NSString stringWithFormat:@"%@",
appDelegate.session.accessToken];
NSString *urlstrng;
if(flag == 1){
urlstrng = [NSString stringWithFormat:@"https://graph.facebook.com/me?access_token=%@",string];
[self dataFetching:urlstrng];
}
if(flag == 2){
urlstrng = [NSString stringWithFormat:@"https://graph.facebook.com/me/friends?access_token=%@",string];
[self dataFetching:urlstrng];
}
}
}
-(void)dataFetching:(NSString*)strng1{
NSURL *url = [NSURL URLWithString:strng1];
ProfileConnector *obj = [[ProfileConnector alloc] init];
obj.delegate1 = self;
[obj parsingJson:url];
}
答案 0 :(得分:0)
我相信您不是通过代码请求额外的项目。您可以使用openSessionWithAllowLoginUI来完成。
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_location",
@"user_birthday",
@"user_likes",
@"email",
nil];
return [FBSession openActiveSessionWithPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
[self sessionStateChanged:session
state:state
error:error];
}];
}