我很清楚,如果用户授予或拒绝许可,则会在登录时调用这些内容:
- (void)fbDidLogin;
- (void)fbDidNotLogin:(BOOL)cancelled;
但我想知道何时可以调用以下FBSessionDelegate方法:
- (void)fbDidExtendToken:(NSString*)accessToken expiresAt:(NSDate*)expiresAt;
- (void)fbDidLogout;
- (void)fbSessionInvalidated;
文档说:
//Called after the access token was extended.
- (void)fbDidExtendToken:(NSString*)accessToken expiresAt:(NSDate*)expiresAt;
//Called when the user logged out.
- (void)fbDidLogout;
//Called when the current session has expired.
- (void)fbSessionInvalidated;
现在什么时候会发生这样的事情?当我打电话给以下人员时?
[Facebook authorize:nil];
我没有机会获得fbDidLogout回电权吗?
也许如果用户通过Facebook应用程序从他的Facebook帐户中删除我的应用程序,是否会调用此方法?不,因为在那种情况下我的应用程序无法打开..
......所以在哪种情况下会被称为?
答案 0 :(得分:5)
我想我自己找到了......
这一个:
- (void)fbDidExtendToken:(NSString*)accessToken expiresAt:(NSDate*)expiresAt;
致电时可以致电:
[facebook extendAccessTokenIfNeeded];
这一个:
- (void) fbDidLogout;
调用
时调用[facebook logout] //(of course..)
最后一个:
- (void)fbSessionInvalidated;
当您尝试使用过期的会话令牌向Facebook发送http请求时,会调用此方法。
我在Facebook SDK头文件Facebook.m
中找到了它我会在这里留下任何寻找答案的人的问题:)