使用节点请求 OAuth 凭据

Requesting OAuth credentials with node

我正在使用 node.js 实施 PayU API。这是PayU文档中写的获取访问令牌的请求示例

curl -X POST https://secure.payu.com/pl/standard/user/oauth/authorize \
-d 'grant_type=client_credentials&client_id=145227&client_secret=12f071174cb7eb79d4aac5bc2f07563f'

这是一个 curl 请求,所以从命令行发送时效果很好,但我需要从 express 服务器发送。知道如何做到这一点吗?

您可以使用 request 模块来发出 HTTP 请求。 请求的第一个参数可以是 URL 字符串,也可以是选项对象。

url: HTTP请求

的目的地URL

method:要使用的 HTTP 方法(GET、POST、DELETE 等)

headers: 请求中设置的HTTP headers(key-value)对象

示例。

var request = require('request');

options = {
    "method":"POST",
    "url": "https://secure.payu.com/pl/standard/user/oauth/authorize",
    "headers": {
    "Content-Type": "application/x-www-form-urlencoded",
  },
  "body": "grant_type=client_credentials&client_id=145227&client_secret=12f071174cb7eb79d4aac5bc2f07563f"
}

request(options, function(err, res, body){
  if(err){
    console.log(err);
  }
  const data = JSON.parse(body);
  console.log(data.access_token)
});