2

我正在使用 Facebook SDK 进行 facebook 集成 .. 我有 uibutton 我用它来登录 facebook 并在 facebook 上分享详细信息

我正在使用 FBSession 登录

 [FBSession.activeSession openWithCompletionHandler:^(FBSession *session, FBSessionState state,NSError *error) {

我可以登录 facebook .. 但是当我尝试分享时,即使用户已经授权,它也会进入授权页面。我不希望这个页面出现在第一次之外。如何确保每次用户想要在 Facebook 上分享时都不会出现此页面

在 plist 文件中我给出了正确的应用程序 ID 和 urlscheme fbappid 以及在我的 appdelegate 中我添加了 handleopenurl ,打开会话

在此处输入图像描述

4

2 回答 2

2

为了不被问到您是否要授权您的应用程序(尽管您已经获得授权),您必须重复使用旧令牌。您每次都在制作一个新的,因此 facebook API 会要求您确认。

编辑:
(@Slavco Petkovski 在评论中建议)

在使用之前验证您保存的访问令牌:

if (![FBSDKAccessToken currentAccessToken] ||
      [FBSDKAccessToken currentAccessToken].expirationDate.timeIntervalSince1970 < now.timeIntervalSince1970) {
    // initiate request for a new token
}
于 2013-04-17T16:40:10.017 回答
0

这是因为您已经在 facebook 上授予了此特定应用程序的权限。尝试使用新帐户,您将被要求提供权限。

编辑

尝试使用

`+ (BOOL)openActiveSessionWithReadPermissions:(NSArray*)readPermissions
                            allowLoginUI:(BOOL)allowLoginUI
                       completionHandler:(FBSessionStateHandler)handler;`

使用completionHandler中的会话对象

于 2013-04-17T16:31:06.647 回答