Facebookユーザー向けにiPhoneとAndroid向けの製品を開発しています。「offline_access」パーミッションが Facebook Graph API から削除され、アクセス トークンの有効期限が 60 日間しか延長できないため、アクセス トークンを自動的に更新する方法があるかどうかを知りたいです。誰にも良い考えがありますか?
質問する
1647 次
2 に答える
1
トークンの更新を気にする必要はありません。Facebook SDK が自動的に処理します。
于 2013-02-22T10:16:17.023 に答える
1
iOS では、次の方法を使用してトークンを拡張できます。
- (void)extendAccessToken {
if (_isExtendingAccessToken) {
return;
}
_isExtendingAccessToken = YES;
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"auth.extendSSOAccessToken", @"method", nil];
[self requestWithParams:params andDelegate:self];
}
//+ * Calls extendAccessToken if shouldExtendAccessToken returns YES.
- (void)extendAccessTokenIfNeeded {
if ([self shouldExtendAccessToken]) {
[self extendAccessToken];
}
}
// Returns YES if the last time a new token was obtained was over 24 hours ago.
- (BOOL)shouldExtendAccessToken {
if ([self isSessionValid]){
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [calendar components:NSHourCalendarUnit fromDate:_lastAccessTokenUpdatetoDate:[NSDate date]options:0];
if (components.hour >= kTokenExtendThreshold) {
return YES;
}
}
return NO;
}
于 2013-02-22T10:27:12.523 に答える