gpt4 book ai didi

node.js - Yelp 融合 : Cannot get Tokens

转载 作者:太空宇宙 更新时间:2023-11-04 02:00:24 25 4
gpt4 key购买 nike

我正在尝试访问 Yelp fusion API。我正在关注documentation并来到这段代码:

const request = require('request');

// As you can see the common error of there being a whitespace
// in one of these is not the case here
const clientId = 'O<removed>w';
const clientSecret = 'm<removed>r';

const options = {
url: 'https://api.yelp.com/oauth2/token',
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
json: {
'grant_type': 'client_credentials',
'client_id': clientId,
'client_secret': clientSecret
}
};

request(options, (err, res, body) => {
if(err) {
return console.log(err);
}
console.log(body);
});

使用 APIGee,我通过完全相同的调用得到了正确的响应,但是在我的 OVH VPS 上,我收到此错误:(请注意,这是来自 body 变量)

{ error:
{ code: 'VALIDATION_ERROR',
description: 'client_id or client_secret parameters not found. Make sure to provide client_id and client_secret in the body with the application/x-www-form-urlencoded content-type' } }

我相信我正确设置了通话。有人能指出我正确的方向吗?谢谢!

最佳答案

您需要更改选项才能正确提交数据。数据进入 body 字段,如果它是 JSON 对象而不是字符串,则需要设置 json:true

const options = {
url: 'https://api.yelp.com/oauth2/token',
method: 'POST',
body: {
'grant_type': 'client_credentials',
'client_id': clientId,
'client_secret': clientSecret
},
json: true
};

此外,我认为标题不是必需的。

检查请求options documentation

关于node.js - Yelp 融合 : Cannot get Tokens,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46233193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com