2017-01-13 6 views
1

Мне дана следующая документация (https://autovit.zendesk.com/hc/ro/articles/214077685-Obtinere-token-acces), и я хочу называть это api, чтобы получить токен доступа для последующих запросов.Node.js получить токен доступа

Я не понимаю, как вы можете несколько параметров

-u 79: 70f8c636a503d50ac6c411597b4cc402 

запрос пост мне было дано это: Как мы можем помочь? дилеры партнеры API Autovit

POST https://ssl.autovit.ro/api/open/oauth/token/ 
-X POST 
-H "Accept: application/json" 
-u 79: 70f8c636a503d50ac6c411597b4cc402 [client_id and client_secret] 
-d "username = test24 @ test. pl " [username dealer Autovit] 
-d" password = 123456789 " [Autovit user password] 
-d" grant_type = password " 

Код в [] являются комментарии поставщика

Я буду использовать модуль запроса НПМ и знаю, что я должен сделать следующий код, , но я не конечно, как передать client_id (в данном случае 79) и client_secret, любая помощь будет высоко оценена.

request({ 
    url: 'https://ssl.autovit.ro/api/open/oauth/token/', 
    method: 'POST', 
    auth: { 
    user: 'test24 @ test. pl', 
    pass: '123456789' 
    }, 
    form: { 
    'grant_type': 'password' 
    } 
}, function(err, res) { 
    var json = JSON.parse(res.body); 
    console.log("Access Token:", json.access_token); 
}); 

После документации link я могу видеть, что идентификатор клиента и секрет являются параметрами. Так что, возможно, я мог бы использовать параметры json field1, как показано ниже? :

//Load the request module 
var request = require('request'); 

//Lets configure and request 
request({ 
    url: 'https://modulus.io/contact/demo', //URL to hit 
    qs: {from: 'blog example', time: +new Date()}, //Query string data 
    method: 'POST', 
    //Lets post the following key/values as form 
    json: { 
     field1: 'data', 
     field2: 'data' 
    } 
}, function(error, response, body){ 
    if(error) { 
     console.log(error); 
    } else { 
     console.log(response.statusCode, body); 
} 
}); 
+0

, который выглядит как завиток опции командной строки, так что '-u' должен быть' -u 79: 70f ... etc' ... не есть ** без пробела ** после ':' ... это устанавливает «user: password» для запроса ... как для вашего кода 'request', вы предположили использовать параметр auth: для' username' и ' password' ** data ** в примере curl (-d устанавливает данные) ... и я даже не знаю, почему вы предполагали использовать параметр 'form:' для данных 'grant_type' - это похоже на то, что вы выбрали случайные вещи поставить случайные параметры! Прочтите руководство по скручиванию, чтобы понять, что делает этот пример командной строки https://curl.haxx.se/docs/manpage.html ... –

ответ

1

Опция -u предназначена для базовой аутентификации. Вы можете включить его в URL-адрес или в заголовок авторизации как «Basic {auth_hash}».

Эта статья показывает каждый в примере - https://www.haykranen.nl/2011/06/21/basic-http-authentication-in-node-js-using-the-request-module/

+0

Привет, спасибо, я понимаю, как применять имя пользователя и пароль, но как это сделать передать идентификатор клиента и пароль? – user1907509

+0

Вам необходимо установить все значения -d как пары ключ/значение в теле запроса. Идентификатор клиента и его секрет должны использоваться для обычной проверки подлинности. Если вы не можете его получить, я отправлю код, когда я получу компьютер. – Yod

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