2016-11-21 4 views
1

У меня есть две строки curl, которые сначала выполняют OAuth2-Token-Request, а затем загружают данные из API. Теперь я хочу включить это в плагин node.js, поэтому мне нужно сделать это изнутри плагина.Поверните мой curl POST в NodeJS OAuth2 Запросы токена

CURL:

curl -X POST -d 'grant_type=password&client_id=8d3c1664-05ae-47e4-bcdb-477489590aa4&client_secret=4f771f6f-5c10-4104-bbc6-3333f5b11bf9&username=email&password=password' https://api.hello.is/v1/oauth2/token 

Test.js:

var request = require('request'); 

request({ 
    url: 'https://api.hello.is/v1/oauth2/token', 
    mehtod: "POST", 
    auth: { 
     username: 'email', 
     password: 'password' 
    }, 
    form: { 
     'grant_type': 'password', 
     'client_id': '8d3c1664-05ae-47e4-bcdb-477489590aa4', 
     'client_secret': '4f771f6f-5c10-4104-bbc6-3333f5b11bf9' 
    } 
}, function(err, res) { 
    var json = JSON.parse(res.body); 
    console.log("Access Token:", json.access_token) 
}); 

Проблема заключается в том, что единственное, что я вернусь есть: { code: 405, message: 'Method not allowed' } тогда как CURL дает мне правильный access_token.

Может ли кто-нибудь помочь? Благодаря!!

+1

Похоже, есть опечатка в коде: метод –

+0

ха-ха mehtod =>. Такая ошибка rookie ... теперь он говорит: «{code: 401, message:« Не авторизовано ». } « –

ответ

1

Может попробовать:

var request = require('request'); 

request({ 
    url: 'https://api.hello.is/v1/oauth2/token', 
    mehtod: "POST", 
    form: { 
     username: 'email', 
     password: 'password', 
     grant_type: 'password', 
     client_id: '8d3c1664-05ae-47e4-bcdb-477489590aa4', 
     client_secret: '4f771f6f-5c10-4104-bbc6-3333f5b11bf9' 
    } 
}, function(err, res) { 
    var json = JSON.parse(res.body); 
    console.log("Access Token:", json.access_token) 
}); 
+0

танков! Это сработало ... было приятным копированием из учебника онлайн;) –