gpt4 book ai didi

iphone - facebook sdk ios 到期日期

转载 作者:行者123 更新时间:2023-11-29 11:23:21 24 4
gpt4 key购买 nike

我正在尝试记录 token 和 facebook 的到期日期,以便每次都不会授权用户。但是今晚我得到了这个错误,如:{"error":{"type":"OAuthException"。首先让我解释一下我如何以及何时记录到期日期和 token :

DidLogin 中:

-(void)fbDidLogin{
[[NSUserDefaults standardUserDefaults]setValue:facebook.accessToken forKey:@"fb_access_token"];
[[NSUserDefaults standardUserDefaults]setObject:facebook.expirationDate forKey:@"fb_expiration_date"];

登录时:

facebook.accessToken    = [[NSUserDefaults standardUserDefaults] stringForKey:@"fb_access_token"];
facebook.expirationDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"fb_expiration_date"];

if (![facebook isSessionValid]) {
NSLog(@"session not valid authorize again");
[facebook authorize:_permissions delegate:self];
}
else
{
if([delegate respondsToSelector:@selector(didFB_login)])[delegate didFB_login];
self.loggedin=TRUE;
}

经过一些 NSLog 我明白了问题所在:

我的到期日是

exp date:4001-01-01 00:00:00 +0000

因此,为了确保我没有犯错,我修改了 facebook.m:

//FBLoginDialogDelegate

/**
* Set the authToken and expirationDate after login succeed
*/
- (void)fbDialogLogin:(NSString *)token expirationDate:(NSDate *)expirationDate {
self.accessToken = token;
self.expirationDate = expirationDate;
NSLog(@"self.expirationDate:%@",self.expirationDate);
if ([self.sessionDelegate respondsToSelector:@selector(fbDidLogin)]) {
[_sessionDelegate fbDidLogin];
}

}

然后强制进行新的授权调用,但结果仍然是:

self.expirationDate:4001-01-01 00:00:00 +0000

现在的问题是:Facebook OAuth 中是否存在错误?我如何确定问题不在我的日期保存代码中?

最佳答案

FB 不赞成对长期 session 使用“offline_access”。请引用https://developers.facebook.com/docs/offline-access-deprecation/获取更多信息。

这里:https://developers.facebook.com/docs/mobile/ios/build/#extend_token如果您在 iOS 中进行开发。

干杯!

关于iphone - facebook sdk ios 到期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com