我正在使用Facebook SDK进行Facebook集成..我有uibutton,我用它来登录Facebook并在Facebook上分享详情
我正在使用FBSession登录
[FBSession.activeSession openWithCompletionHandler:^(FBSession *session, FBSessionState state,NSError *error) {
我可以登录到Facebook ..但是当我每次尝试分享时,即使用户已经授权,也会进入授权页面。我不希望这个页面出现在第一次以外。每次用户想在Facebook上分享时如何确保此页面不会出现
在plist文件中我已经给出了正确的应用ID,并且在urlscheme中也提供了fbappid,在我的appdelegate中我添加了handleopenurl,打开会话
答案 0 :(得分:2)
为了不询问您是否要授权您的应用(尽管您已经获得授权),您必须重复使用旧令牌。你每次都要制作一个新的,因此facebook API会要求你确认。
编辑:
(由@Slavco Petkovski在评论中提出)
在使用之前验证您已保存的访问令牌:
if (![FBSDKAccessToken currentAccessToken] ||
[FBSDKAccessToken currentAccessToken].expirationDate.timeIntervalSince1970 < now.timeIntervalSince1970) {
// initiate request for a new token
}
答案 1 :(得分:0)
这是因为你已经在Facebook上获得了这个特定应用的许可。 尝试使用新帐户,系统会要求您提供权限。
修改强>
尝试使用
`+ (BOOL)openActiveSessionWithReadPermissions:(NSArray*)readPermissions
allowLoginUI:(BOOL)allowLoginUI
completionHandler:(FBSessionStateHandler)handler;`
使用completionHandler
中的会话对象