2016-11-21 9 views
0

私はiOSアプリケーションでtwitterログインを実装する必要があります。私はtwitterフレームワークをfabric SDKとともにインストールしました。今すぐ初めてログインする際に問題に直面しています。トークンの詳細を受け取ることができます。Twitter SDK iOS with Fabric

Twitterの詳細:@TestUserAppログインしました! (796637020760186880)

認証トークン:796637020760186880-ieeZM2Mbn3FLutLOcJ1sk7bp83ZSlzU

認証トークン秘密:1G0O5YdF89V0VtoNmdY8W3ui2pkPNvKgtNPbqrleOiIoB

エラー:エラードメイン= TwitterAPIErrorDomainコード= 99「要求が失敗した: は禁じられて(403) "UserInfo = {NSLocalizedFailureReason = Twitter APIエラー :資格情報を確認できません(コード99)、 TWTRNetworkingStatusCode = 40 3、 NSErrorFailingURLKey = https://api.twitter.com/oauth2/token、 NSLocalizedDescription =要求は失敗しました:禁断の(403)}

全コード:

TWTRLogInButton *logInButton = [TWTRLogInButton buttonWithLogInCompletion:^(TWTRSession *session, NSError *error) { 
    if (session) { 

     NSString *authToken = session.authToken; 
     NSString *authTokenSecret = session.authTokenSecret; 
     NSString* userId = session.userID; 
     NSString *message = [NSString stringWithFormat:@"@%@ logged in! (%@) -Auth token:%@ -Auth Token secret:%@", 
          [session userName], [session userID],authToken,authTokenSecret]; 

     // Objective-C 
     TWTRAPIClient *client = [[TWTRAPIClient alloc] init]; 
     [client loadUserWithID:userId completion:^(TWTRUser *user, NSError *error) { 
      if (error == nil) { 
       NSLog(@"Name:%@ -- ScreenName:%@ -- ProfileImageUrl:%@",user.name,user.screenName,user.profileImageURL); 
      } 
      else { 
       NSLog(@"Error:%@",error.description); 
      } 

     }]; 

    } else { 
     NSLog(@"Login error: %@", [error localizedDescription]); 
    } 
}]; 

答えて

0

//アプリデリゲートで

#import <Fabric/Fabric.h> 
#import <TwitterKit/TwitterKit.h> 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
[Fabric with:@[[Twitter class]]]; 
} 

//あなたのコントローラ.m

#import <TwitterKit/TwitterKit.h> 


[[Twitter sharedInstance] logInWithMethods:TWTRLoginMethodWebBased completion:^(TWTRSession *session, NSError *error) 
{ 
    if (session) 
    { 

     TWTRAPIClient *client = [TWTRAPIClient clientWithCurrentUser]; 
     NSURLRequest *request = [client URLRequestWithMethod:@"GET" 
                  URL:@"https://api.twitter.com/1.1/account/verify_credentials.json" 
                parameters:@{@"include_email": @"true", @"skip_status": @"true"} 
                 error:nil]; 

     [client sendTwitterRequest:request completion:^(NSURLResponse *response, NSData *data, NSError *connectionError) 
      { 

       if (data) 
       { 
        // handle the response data e.g. 
        NSError *jsonError; 
        NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError]; 
        NSLog(@"Twiiter json is ====>%@",json); 

        NSString *userid =[json objectForKey:@"id"]; 
        NSString *strtwitter =[NSString stringWithFormat:@"%@",@"https://twitter.com/intent/user?user_id=",userid]; 
        NSLog(@"strtwitter is ===>%@",strtwitter); 

        [self dataSendToTwitter:json]; 

       } 
       else { 
        NSLog(@"Error: %@", connectionError); 
       } 


      }]; 



    } else { 
     NSLog(@"error: %@", [error localizedDescription]); 
    } 
}];