3

ACAccountStore使用and时,有什么方法可以判断您的 facebook 令牌何时到期ACAccount

我创建了一个ACAccountStore,访问用户的 facebook 帐户,将该帐户存储在一个ACAccount对象中,并且能够从凭据中检索令牌。不过,我也想知道这个令牌什么时候到期。我将如何着手取消此令牌的到期?或者甚至有可能吗?

4

1 回答 1

1

为什么你想知道它什么时候到期?

当你获得一个令牌时,在 Facebook 的例子中,它的令牌生命周期就会延长。我认为今天是额外的 60 天。因此,当您从帐户商店获得它时,应该很好。

如果用户正在使用您的应用程序,然后决定撤销 Facebook 设置本身的权限,您应该关注的唯一细节。

在这种情况下,您需要确保您正在监视ACAccountStoreDidChangeNotification通知并renewCredentialsForAccount:completion:适当地调用以再次请求权限,请参阅文档

例如:

- (void)accountChanged:(NSNotification *)note
{
    [self.accountStore renewCredentialsForAccount:(ACAccount *)self.facebookAccount completion:^(ACAccountCredentialRenewResult renewResult, NSError *error){
        if(!error)
        {
            switch (renewResult) {
                case ACAccountCredentialRenewResultRenewed:
                    // Good
                    break;
                case ACAccountCredentialRenewResultRejected:
                    // Maybe go back to non logged in status
                    break;
                case ACAccountCredentialRenewResultFailed:
                    // Maybe internet failed, Facebook is down?
                    break;
                default:
                    break;
            }

        }
        else{
            // Handle error gracefully
        }
    }];
}

也许本教程可能对您有所帮助。

于 2013-06-18T17:47:31.707 回答