2016-04-10 16 views
1

Alamofireとtwitter APIを使用して特定のユーザーからつぶやきを取得しようとしています。私は正常にcURLコマンドで呼び出しを行ったが、私はAlamoFireでそれを作ることはできない。それはBad Authentication dataのための215エラーを与える。AlamoFire認証ヘッダーOauth

curl --get 'https://api.twitter.com/1.1/statuses/user_timeline.json' --data 'count=2&screen_name=twitterapi' --header 'Authorization: OAuth oauth_consumer_key="lfa3XmdguuAqu3MoEQ6Fo01s0", oauth_nonce="0d50d7938a68be1ed73bcf02d4cc57e8", oauth_signature="8wZF1F%2B70okWLOi4s7dwKlJKc5w%3D", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1460320508", oauth_version="1.0"' --verbose 


     let key = "lfa3XmdguuAqu3MoEQ6Fo01s0" 
    let secret = "25EUfqUstgdjZFgYnecrYuPkG6fDkruCjRXr905kM7475W2G63" 
    let data = ["screen_name": "twitterapi", "count": 2] 
    let path = "https://api.twitter.com/1.1/statuses/user_timeline.json" 
    Alamofire.request(.GET, path, parameters: data) 
     .authenticate(user: key, password: secret) 
     .responseJSON { response in 
      if let JSON = response.result.value { 
       print("JSON: \(JSON)") 
      } 
    } 

AlamoFireでカスタムヘッダー認証を行うにはどうすればよいですか?私は認証トークンが必要だと思いますが、どこから取得するのか分かりません。カスタム認可を与えるのおかげ

答えて

0

、あなたがこれをしなければならない。

let headers = ["Authorization": "Bearer \(Token.sharedInstance.value!)"] 

Alamofire.request(.PUT, url, headers: headers, parameters: data, encoding: .JSON).responseJSON { response in 

} 

トークンクラス:

class Token { 

    var value:String? 

    static let sharedInstance = Token() 

    private init() {  } 

} 
+0

私の質問はToken.shareInstance.valueを作成する方法です - あなたは、いくつかを当てるでしたそれについての光?ありがとう – Marcus

+0

トークンはクラスです!サーバーのトークンを取得すると、すべてのアプリケーションで使用できるようにToken.sharedInstance.valueに保存します。 トークンクラスは次のようなものです: –

+0

私はwiiの答えを編集します –