node.js - Nodejs,http post json
问题描述
这是一个示例帖子,我想在我的 Nodejs 服务器中执行以获取 ClientID 和机密。
请求示例:
curl --request POST \
--url https://api.opskins.com/IOAuth/CreateClient/v1/ \
--header 'authorization: Basic {{AUTH_HASH}}' \
--data name=TestApp2 \
--data redirect_uri=http://localhost:1234
响应返回 JSON 结构如下:
{
"status": 1,
"time": 1535408581,
"response": {
"secret": "$nGwYVda@@PErKAUpG#kHQ&YA1L)A*X1",
"client": {
"client_id": "ff371b045307",
"name": "TestApp2",
"redirect_uri": "http://localhost:1234",
"time_created": 1535407757,
"has_secret": true
}
}
我正在尝试请求:
const request = require('request');
var headers = {
'authorization': 'Basic ***my-api-key****'
};
var dataString = 'name=TestApp2&redirect_uri=http://localhost:5000';
var options = {
url: 'https://api.opskins.com/IOAuth/CreateClient/v1/',
method: 'POST',
headers: headers,
body: dataString
};
function callback(error, response, body) {
console.log(body);
}
request(options, callback);
但得到这样的错误输出:
{"status":401,"time":1540115259,"message":"API Key Required"}
我一直在尝试不同的代码和中间件,但无法做到。我的测试也适用于 Postman。我需要帮助才能发布并获取我的 client_id 和秘密。
解决方案
我找到了一个方法。这对我来说真的很棘手。我需要使用我的 API 密钥和客户端 ID。波纹管代码有效。非常感谢维托马迪奥!
我使用了来自 npm 的reqclient 。
这是我的代码
var client = new RequestClient({
baseUrl:"https://api.opskins.com/IOAuth/CreateClient/",
debugRequest:true, debugResponse:true,
auth: {
user:"***My_apikey****",
}
});
var resp = client.post("v1/", {"name": "testApp2", "redirect_uri":"http://localhost:5000/"},{headers: {"authorization":"Basic **my_clientID"}}).then(response => {
// console.log(response);
});
我也真的很居里,想知道我怎么能按要求做到这一点。
推荐阅读
- java - android onDraw() 方法第一次没有被调用
- python - 选择列表的各种“片段”
- javascript - 如何在 v-for 上绑定动态方法
- azure - 有没有办法使用 powershell 找出 Azure 中的虚拟机中正在使用哪种类型的磁盘?
- spring-mvc - spring-aop-4.3.18.RELEASE.jar 下载失败
- tensorflow - 文本分类问题
- python - 如何更改嵌套列表中每个按钮的文本?
- webpack - 与 Webpack 捆绑时出现“无法间接使用定义”错误
- haskell - 编写一个计算玫瑰树中元素个数的函数
- java - 导入的 CSV 文件开头的奇怪符号