【问题标题】:Access user's iOS default Twitter account iOS访问用户的 iOS 默认 Twitter 帐户 iOS
【发布时间】:2015-07-30 04:27:04
【问题描述】:

我尝试访问我用户的 iOS 默认 Twitter 帐户。

我使用 STTwitter 库。下面的代码曾经在我的设备上正常工作,但现在不是。返回的“oAuthToken”、“oAuthTokenSecret”和“userID”为 nil。但它仍在模拟器上工作

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) {
    // ...

}];

【问题讨论】:

  • STTwitter 作者在这里。我确认这是一个错误,而且这是一个回归。让我调查一下。我会及时通知你。

标签: ios twitter sttwitter


【解决方案1】:

由于某种原因,在 iOS 设置中输入的 Twitter 帐户缺少“oauth_token”属性,可能需要再次验证。一个可能的解决方法是转到 iOS 设置并重新设置帐户。现在,我将尝试找到一种方法来检测 STTwitter 中的这种状态。

【讨论】:

  • 感谢您的努力=) 实际上我尝试删除该帐户并重新添加它,但没有成功。经过一番挖掘,我发现响应与我的时间设置有关,所以当我改变它的工作时间时,从我所在的地方我们没有改变我们的时钟(夏令时)......但是奇怪的事情是的,即使我不改变我的时间,它有时也会起作用。
猜你喜欢
  • 2012-06-27
  • 2014-01-18
  • 2013-04-23
  • 2017-03-15
  • 1970-01-01
  • 1970-01-01
  • 2013-07-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多