【发布时间】:2019-03-25 15:07:30
【问题描述】:
这是一个示例帖子,我想在我的 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 和秘密。
【问题讨论】:
-
在您的标头中,授权密钥是大写的 A。这可能是问题所在,因为您的日志消息说 API 丢失。
-
我也这么认为并尝试了“授权”,授权,授权也尝试了所有这些都删除了我的 api 密钥前面的基本密钥。但他们都没有工作。
-
尝试在标题中添加“Content-Type”="application/json"。
-
改变了一些东西。现在我得到这个输出:
400 Bad Request
Malformed JSON request body. -
在你的 body 中执行如下 body:JSON.parse(dataString),让我们看看是否有效
标签: node.js post oauth request http-post