0

我正在整合 facebook,但我仍然看不到 FBSession 如何将所有内容联系在一起。

这就是我认为它的工作原理。

每次应用启动时,您都需要一个新的 FBSession。(这是真的?)。每次应用停止时也需要关闭 FBSession(如果这是真的,我们如何在不要求用户再次登录的情况下启动新会话?)

就会话而言,[FBSession activeSession] 是由 facebook sdk 管理的全局?每当我们想要提取数据或检查会话是否处于活动状态时,我们是否应该将其用作默认会话?

假设上述逻辑已经成功,并且您获得了用户 id (fb id),那么我们将该 id 提供给 FBImageView 并获得一张个人资料图片,但这个 id 不是每次启动都会改变吗?所以将它存储在我们的服务器上没有帮助吗?我们应该在每次启动时获取 id 吗?

请让我知道上述陈述的对错,并解释原因?

谢谢你。

4

1 回答 1

0

我建议你使用activeSession. FBSession这样您就不必自己创建会话。只需使用激活[FBSession openActiveSessionWithReadPermissions:...]方法,成功打开后,即可用于您的 Facebook 请求。祝你好运!PS>为了恢复你可以这样做:FBSessionactiveSessionFBSession.activeSessionactiveSession

if (![FBSession.activeSession isOpen]) {
        [FBSession openActiveSessionWithReadPermissions:@[@"basic_info"] allowLoginUI:NO completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
        }];
    }

如果它缓存了令牌信息而不显示登录 UI,它将打开会话。

于 2013-06-28T11:50:28.600 回答