2016-04-11 11 views
2

私はiPhone開発には初めてです。私はtwitterログイン用のファブリックを使用しています。このコードを使用しています。twitterからユーザーの名字を取得

[[Twitter sharedInstance] logInWithCompletion:^(TWTRSession* session, NSError* error) { 
     if (session) 
     { 
      NSLog(@"signed in as %@", [session userName]); 
     } 
     else 
     { 
      NSLog(@"error: %@", [error localizedDescription]); 
     } 
    }]; 

さて、私はこの上Rに& Dを行っているtwitter.Iからユーザーの姓と名を取得し、いくつかのコードGet user profile details (especially email address) from twitter in iOS を見つけたいが、私はそれはいくつかを与えるのです。このcode.Becauseを理解することができないではありませんよ私のコードに誤りがあります。 エラーが

Error: Error Domain=TwitterAPIErrorDomain Code=99 "Request failed: forbidden (403)" UserInfo={NSErrorFailingURLKey=https://api.twitter.com/oauth2/token, NSLocalizedDescription=Request failed: forbidden (403), NSLocalizedFailureReason=Twitter API error : Unable to verify your credentials (code 99)} 
+1

Twitterアカウントは*姓と名義を持っていません。ただひとつの "名前"フィールドがあります。これはしばしばユーザーの本名ではありません。 – duskwuff

+0

@duskwuffどのように私はユーザーの本当の名前を得ることができますか? – sambit

+0

質問するあなたはTwitterを使ってそれを見つけるつもりはありません。 – duskwuff

答えて

1

この質問に答えるためには遅すぎるかもしれないですが、これは役に立つかもしれません。 Twitter SDKをiOSアプリにインストールしたとします。あなたはこのようなTwitterユーザーの情報を取得することができます

1. Twitterにログイン:

{中(セッション、エラー)}:

Twitter.sharedInstance()ログイン(完了

2.ユーザーのデータを取得するためにTWTRAPIClientを使用します。

Twitter.sharedInstance().logIn(completion: { (session, error) in 
    guard let session = session else { 
     print("Something went wrong.") 
     return 
    }   

    let client = TWTRAPIClient() 
    client.loadUser(withID: session.userID, completion: { (user, error) in 
     print("user's name: \(user?.name ?? "")") 
     print("user's profile picture: \(user?.profileImageURL ?? "")") 
    }) 
} 
-1
TWTRTwitter.sharedInstance().logIn { (twitterSession, error) in 
    if let session = twitterSession { 
     let client = TWTRAPIClient.withCurrentUser() 
     client.loadUser(withID: session.userID, completion: { (twitterUser, userError) in 
      if let user = twitterUser { 
       print("user.name -> \(user.name)") 
       print("user.profileImageURL -> \(user.profileImageURL)") 
       print("user.profileURL -> \(user.profileURL)") 
      } else { 
       print("userError: \(String(describing: userError?.localizedDescription))"); 
      } 
     }) 
    } else { 
     print("error: \(String(describing: error?.localizedDescription))"); 
    } 
+0

こんにちは、ようこそ。あなたの答えを編集して、あなたのコードの説明を教えてください。 – rsm

関連する問題