首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twitter获取用户信息

Twitter获取用户信息
EN

Stack Overflow用户
提问于 2014-12-29 08:03:16
回答 2查看 501关注 0票数 0

有很多相同的问题,但我也找不到解决办法。我决定发这个问题。我的应用程序通过Twitter登录用户,然后尝试获取用户信息,但总是得到错误。我用的是STTwitter。这是我的代码:

代码语言:javascript
复制
  - (void)setOAuthToken:(NSString *)token oauthVerifier:(NSString *)verifier
{
    __weak typeof (self)weakself = self;
    self.twitterAPI = [STTwitterAPI twitterAPIWithOAuthConsumerKey:Twitter_API_KEY consumerSecret:Twitter_API_SECRET];
    [self.twitterAPI postAccessTokenRequestWithPIN:verifier
                                      successBlock:^(NSString *oauthToken, NSString *oauthTokenSecret, NSString *userID, NSString *screenName) {
                                          [weakself.twitterAPI getUserInformationFor:screenName
                                                                        successBlock:^(NSDictionary *user) {
                                                                            ///we have an account
                                                                            NSLog(@"something");
                                                                        } errorBlock:^(NSError *error) {
                                                                            /// error
                                                                            NSLog(@"error:%@", error);
                                                                        }];

                                      } errorBlock:^(NSError *error) {
                                          ///error
                                          NSLog(@"Error:%@", error);
                                      }];
}

用户授权后,我可以得到tokenoauth_verifier,然后可以传递到上面的函数。但我知道错误是:

代码语言:javascript
复制
Error:Error Domain=STHTTPRequest Code=401 "HTTP Status 401: Unauthorized" UserInfo=0x7f84c1531420 {NSLocalizedDescription=HTTP Status 401: Unauthorized}

我还尝试使用以下代码:

代码语言:javascript
复制
   self.twitterAPI = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:Twitter_API_KEY consumerSecret:Twitter_API_SECRET];
[self.twitterAPI verifyCredentialsWithSuccessBlock:^(NSString *username) {
    NSLog(@"");
    [self.twitterAPI getUserInformationFor:@"jac_ln" successBlock:^(NSDictionary *user) {
        NSLog(@"");
    } errorBlock:^(NSError *error) {
        NSLog(@"EROR:%@", error);
    }];
} errorBlock:^(NSError *error) {
    NSLog(@"ERROR:%@", error);
}];

但也不能从twitter.please获得用户信息帮助我。

EN

回答 2

Stack Overflow用户

发布于 2016-02-11 10:53:18

[App_Delegate.twitter getUserInformationFor:NS_Defaults objectForKey:kUserScreenName接续块:^(NSDictionary *user) ]{

代码语言:javascript
复制
     [MBProgressHUD hideAllHUDsForView:self.view animated:YES];

     NSLog(@"Uesr Info-- %@", user);
     NSDictionary  *dictUser = [[NSDictionary alloc]initWithObjects:@[[user objectForKey:@"name"],[user objectForKey:@"profile_image_url"]] forKeys:@[kUserName,kUserProfileImage]];


     [NS_Defaults setObject:dictUser forKey:kUserInfo];

     [NS_Defaults synchronize];

     UIStoryboard *objStory = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
     App_Delegate.mainVC =[objStory instantiateViewControllerWithIdentifier:@"MainVC"];
     [self.navigationController pushViewController:App_Delegate.mainVC animated:YES];
     [NS_Defaults setBool:YES forKey:@"isLogin"];
     [NS_Defaults synchronize];


 } errorBlock:^(NSError *error)
 {
     NSLog(@"Error-- %@", error);
 }];
票数 0
EN

Stack Overflow用户

发布于 2016-04-22 14:46:50

您需要设置一个回调URL,甚至一个简单的字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27685401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档