2016-02-10 6 views
1

Я продолжаю получать «error_type»: «OAuthException», «code»: «41», когда я использую alamofire или даже когда я добрался до сервера, я получил данные из перед заголовком авторизации. Я думаю, что он продолжает отправлять тот же заголовок, как убедиться, что alamofire отправляет текущие заголовки?Alamofire не отправляет текущие заголовки (swift)

let headers = ["Authorization" : "\(AccessToken) \(TokenType)"] 
    print(headers) 

    Alamofire.request(.GET, "url/profile/", headers: headers, encoding: .JSON).responseJSON { response in 
     switch response.result {} 

EDIT Во-первых, я использую Логин API

let parameters = [ 
     "client_id": "\(Constant.clientId)", 
     "client_secret": "\(Constant.clientSecret)", 
     "response_type": "\(Constant.responseType)", 
     "scope" : "\(Constant.scope)", 
     "redirect_uri": "\(Constant.redirect)", 
     "email": "\(email!)", 
     "password": "\(pass!)" 

    ] 

    print(parameters) 

    Alamofire.request(.POST, "http://url/login/", parameters: parameters, encoding: .JSON).responseJSON { response in 
     switch response.result { 
     case .Success: 

      if let value = response.result.value { 
       let json = JSON(value) 
       print("JSON: \(json)") 
       let accessToken = json["access_token"].string! 
       let refreshToken = json["refresh_token"].string 
       let tokenType = json["token_type"].string! 
       let expiresIn = json["expires_in"].string 
} 

И потом, я использую accessToken и tokenType для авторизации

if(refreshToken != nil) 
       { 
let headersCust = ["Authorization" : "\(accessToken) \(tokenType)"] 
        print(headersCust) 
Alamofire.request(.GET, "http://goodies.co.id/api/v1/customer/profile/", headers: headersCust, encoding: .JSON).responseJSON { response in {} 

ответ

0

Я надеюсь, что вы используете последний Alamofire так здесь код для .GET Запрос:

let headers = [ 
    "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==", 
    "Content-Type": "application/x-www-form-urlencoded" 
] 

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

Ссылка: https://github.com/Alamofire/Alamofire Попробуйте это! И убедитесь, что вы отправляете соответствующие заголовки.

+0

Я использую alamofire 3, я думаю, что это последнее, это произойдет только в .GET с заголовками @Sohil –

+0

@AldoLazuardi Вы пытались подтвердить свой запрос, используя POSTMAN? –

+0

Что я должен делать в почтальоне? я только что установил его. @sohil –

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