2014-12-29 6 views
0

많은 질문이 있지만 나에게도 해결책을 찾을 수 없습니다. 나는 그 질문을 게시하기로 결정했다. 트위터에 의한 사용자 로그인을위한 내 앱은 사용자 정보를 얻으려고했지만 항상 오류가 발생합니다. STTwitter을 사용했습니다. 사용자가 인증 된 후Twitter API get user info

- (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 후 위의 함수에 전달 할 수 있습니다 얻을 수 있습니다 : 여기 내 코드입니다. 나는 또한 아래의 코드로 시도

Error:Error Domain=STHTTPRequest Code=401 "HTTP Status 401: Unauthorized" UserInfo=0x7f84c1531420 {NSLocalizedDescription=HTTP Status 401: Unauthorized} 

:하지만 오류 얻을

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에서 사용자 정보를 얻을 수 없습니다.

+0

@nst 당신은 나를 도울 수 있습니까? – lee

+1

두 번째 스 니펫 만 나에게 의미가 있습니다. 이제 상태 401이 반환되면 소비자 토큰과 장치의 시계를 확인하십시오. 그래도 작동하지 않는다면, 당신이 기대하는 것을 보지 못하는 라인과 정확히 당신에게 기대되는 라인을 정확하게 설명하십시오. – nst

답변

0

[App_Delegate.twitter getUserInformationFor : [NS_Defaults objectForKey : kUserScreenName] successBlock :^(NSDictionary와 * 사용자) 당신은 콜백 URL, 심지어 간단한 문자열을 설정할 필요가 {

 [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); 
}];