我尝试访问用户的iOS默认Twitter帐户。
我使用STTwitter库。以下代码用于在我的设备上正常工作,但现在不行。返回的" oAuthToken"," oAuthTokenSecret"和" userID"没有。但它仍然在模拟器上工作
STTwitterAPI *twitter = [STTwitterAPI twitterAPIWithOAuthConsumerName:nil
consumerKey:@"myConsumerKey"
consumerSecret:@"myConsumerSecret"];
[twitter postReverseOAuthTokenRequest:^(NSString *authenticationHeader) {
STTwitterAPI *twitterAPIOS = [STTwitterAPI twitterAPIOSWithFirstAccount];
[twitterAPIOS verifyCredentialsWithSuccessBlock:^(NSString *username) {
[twitterAPIOS postReverseAuthAccessTokenWithAuthenticationHeader:authenticationHeader
successBlock:^(NSString *oAuthToken,
NSString *oAuthTokenSecret,
NSString *userID,
NSString *screenName) {
// use the tokens...
self.oAuthToken = oAuthToken;
self.oAuthTokenSecret = oAuthTokenSecret;
if(self.oAuthToken && self.oAuthTokenSecret){
completionHandler();
}
else{
ACAccountStore *account = [[ACAccountStore alloc] init];
ACAccountType *accountType = [account accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
NSArray *arrayOfAccounts = [account accountsWithAccountType:accountType];
[account renewCredentialsForAccount:[arrayOfAccounts firstObject] completion:^(ACAccountCredentialRenewResult renewResult, NSError *error) {
[self getUserTwitterDataFromPhoneSettingsInView:view WithCompletionHandler:completionHandler];
}];
}
} errorBlock:^(NSError *error) {
// Error
}];
} errorBlock:^(NSError *error) {
// no twitter account
// user denied access to their account(s)
}];
} errorBlock:^(NSError *error) {
// ...
}];
答案 0 :(得分:0)
出于某种原因,事实证明在iOS设置中输入的Twitter帐户缺少'oauth_token'属性,可能需要再次进行验证。可能的解决方法是转到iOS设置并再次设置帐户。现在,我将尝试在STTwitter中找到一种检测此状态的方法。