2016-07-23 3 views
1

В настоящее время я пытаюсь отправить простой запрос - в Почтальон он прекрасно работает для меня, но в СВИФТ я просто не могу заставить его работать Мой код выглядит следующим образом:Twitter API в SWIFT через Alamofire

func TWITTER_getPosts(username:String){ 


     let headers = [ 
      "screen_name": "username", 
      "authorization": "OAuth oauth_consumer_key=\"<KEY>\",oauth_token=\"<KEY>\",oauth_signature_method=\"HMAC-SHA1\",oauth_timestamp=\"1469246792\",oauth_nonce=\"n6Sxbq\",oauth_version=\"1.0\",oauth_signature=\"<KEY>\"", 
      "include_rts": "false" 
     ] 

     Alamofire.request(.GET, "https://api.twitter.com/1.1/statuses/user_timeline.json", parameters: headers) 
      .responseJSON { response in 
       print(response.request) // original URL request 
       print(response.response) // URL response 
       print(response.data)  // server data 
       print(response.result) // result of response serialization 

       if let JSON = response.result.value { 
        print("JSON: \(JSON)") 
       } 
     } 
    } 

Я всегда заканчивается в

ошибки = ( { код = 215; сообщение = "Плохие данные аутентификации.";

+0

Вы пробовали использовать STTwitter https://cocoapods.org/pods/STTwitter? У меня нет опыта использования его в Swift, но это может оказаться полезным, если оно возможно – markedwardmurray

ответ

2

Один из параметров для метода запроса неверен. Если вы передаете заголовки, они не должны быть переданы в параметрах, они должны быть переданы в следующем виде:

let headers = [ 
"Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", 
"Accept": "application/json" 
] 

Alamofire.request(.GET, "https://httpbin.org/get", headers: headers) 
    .responseJSON { response in 
     debugPrint(response) 
    } 

headers: headers должен быть путь.

Смежные вопросы