2016-11-18 4 views
0

Я пытаюсь создать сеанс на моем Node JS приложения делает что-то вроде этого:SkyScanner 415 Код состояния при создании сеанса

import * as request from 'request'; 
const apiKey = '123123123123123123'; 
const urlApi = 'http://partners.api.skyscanner.net/apiservices/pricing/v1.0?apikey=' + apiKey; 

const headers = { 
        'Accept': 'application/json', 
        'Content-Type': 'application/x-www-form-urlencoded' 
       }; 

var options = { 
       url: urlApi, 
       method: 'POST', 
       headers: headers, 
       data: { 
        country: 'UK', 
        currency: 'GBP', 
        locale: 'en-GB', 
        locationSchema: 'iata', 
        apikey: '123123123123123123', 
        grouppricing: 'on', 
        originplace: 'EDI', 
        destinationplace: 'LHR', 
        outbounddate: '2016-12-29', 
        inbounddate: '2016-12-05', 
        adults: 1, 
        children: 0, 
        infants: 0, 
        cabinclass: 'Economy' 
       } 
}; 

request.post(options, function(error: Error, response: any, body: any) 
{ 
    if (!error && response.statusCode === 415) { 
     console.log('Error: ' + response.statusCode); 
    } 
    else { 
     console.log(response.statusCode); 
    } 
}); 

Тем не менее, всегда возвращаются StatusCode 415. Я после документации отсюда https://support.business.skyscanner.net/hc/en-us/articles/211308489-Flights-Live-Pricing, но мне пока не повезло ...

+1

У вас есть опечатка в вашем URL. Это должно быть /v1.0/?apiKey = ..... –

+0

У меня точно такая же проблема. Могли ли вы найти решение этой проблемы? Было бы здорово, если бы вы могли обновить свой пост, если это так. –

ответ

0

После того, как я отправил свой вопрос, я нашел причину моего пропущенного запроса. Я использовал запросы в URL-адресе, но вам нужно поместить их в тело сообщения, заменив данные свойств телом. Думаю, вам также нужно использовать json: true в параметрах запроса.

Рассмотрим https://github.com/request/request#requestoptions-callback

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