登录 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 步”的代码。