2

登录 Twitter 后,我可以打印出一些有用的数据,例如用户名和用户 ID。但是,OAuth 令牌始终为空。我如何得到它?我需要将 OAuth 令牌发送到我的服务器,以便它可以验证用户确实是他所说的那个人。

ACAccountStore* accountStore = [[ACAccountStore alloc] init];
ACAccountType* twitterType = [self.context.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore
    requestAccessToAccountsWithType:twitterType
    withCompletionHandler:^(BOOL isAllowed, NSError* error) {
        dispatch_sync(dispatch_get_main_queue(), ^(void) {
            if (isAllowed) {
                ACAccount* account = [[self.context.accountStore accountsWithAccountType:[self.context.accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter]] lastObject];
                NSLog(@"username = %@", account.username);
                NSLog(@"user_id = %@", [[account valueForKey:@"properties"] valueForKey:@"user_id"]);
                // ouath token is always null
                NSLog(@"oauth token = %@", account.credential.oauthToken);
            }
        });
    }
];

我“认为”我需要Reverse Auth,但该教程神秘地遗漏了“第 1 步”的代码。

4

1 回答 1

0

您确实需要使用反向身份验证。

我最近使用了Sean Cook 的 TWReverseAuth,效果很好。请注意为目录中的单个文件关闭 ARC Vendor

于 2013-03-30T03:12:18.823 回答