3

Facebookユーザー向けにiPhoneとAndroid向けの製品を開発しています。「offline_access」パーミッションが Facebook Graph API から削除され、アクセス トークンの有効期限が 60 日間しか延長できないため、アクセス トークンを自動的に更新する方法があるかどうかを知りたいです。誰にも良い考えがありますか?

4

2 に答える 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 に答える