iOS 6如何使用设备账号获取Facebook访问令牌

3
我正在开发的应用支持iOS 5和6。对于iOS 5,我使用FBSession对象获取访问令牌。同样的方法也适用于iOS 6,但无法使用已经存在于设备上的ACAccount并且总是要求用户输入电子邮件/密码。
由于Facebook需要几周时间才能更新他们的SDK以支持此功能,而我又不能等那么久,所以我想知道如何使用账户或社交框架获取访问令牌。
我花了几个小时寻找答案,但还没有找到。所以提前感谢大家。
以下是使用Facebook SDK 3.1+获取访问令牌的代码。
[FBSession openActiveSessionWithReadPermissions:permissions
                                       allowLoginUI:YES
                                  completionHandler:^(FBSession *session, FBSessionState status, NSError *error){
                                      if (session.isOpen) {
                                          switch (status) {
                                              case FBSessionStateOpen:
                                                      // here you get the token
                                                      NSLog(@"%@", session.accessToken);
                                                  break;
                                              case FBSessionStateClosed:
                                              case FBSessionStateClosedLoginFailed:
                                                  [[FBSession activeSession] closeAndClearTokenInformation];
                                                  break;
                                              default:
                                                  break;
                                          } // switch
                                      }];

你获取Facebook访问令牌的代码是什么? - Edward Potter
1个回答

2
这个问题已经在Facebook SDK 3.1中得到了修复。

你是如何从ACAccount获取访问令牌的? - kocodude
你不能从账户中获取访问令牌,而是要从会话中获取。 - Nikola Lajic
FB SDK中的会话?我在Account框架中没有看到会话对象。 - kocodude
2
您需要安装最新的Facebook SDK,该SDK与本地Facebook帐户框架配合使用。否则,它将要求通过浏览器或本机Facebook应用程序进行登录。 - Nikola Lajic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接