415 不支持的媒体类型错误 - Domo 连接器
415 Unsupported Media Type error - Domo Connector
所以我正在使用 Domo 开发人员工具(他们喜欢称之为 IDE)构建一个连接器,但我似乎无法让身份验证部分与他们的库一起使用。
Domo 使用 httprequest
库进行基本和 oauth 类型的身份验证。
我无法通过 Domo 取回令牌,但我可以通过 curl
或使用 Postman api 工具轻松完成。
下面是代码:
var client_id = '4969e1ea-71b9-3267-ae7d-4ce0ac6bfa28';
var client_secret = '*****************************';
var user = '*********';
var pass = '*********';
var postData =
{
data: {
'grant_type': 'password',
'username': user,
'password': pass,
'client_id': client_id,
'client_secret': client_secret,
'scope': 'internal'
}
};
var res = httprequest.post('https://rest.synthesio.com/security/v1/oauth/token', postData);
DOMO.log('res: ' + res);
如果您有不同的方法来解决这个问题,请告诉我。我试图在 postData
object 本身中添加 header 以及删除 data
变量,也将属性保持原样。
当您将 postData 作为对象传递时,DOMO 将 运行 通过 JSON.stringify 并将结果发送到请求正文中。
您可以手动编码请求正文或使用他们的 httprequest.addParameter 功能来添加它们。尝试这样的事情:
var client_id = '4969e1ea-71b9-3267-ae7d-4ce0ac6bfa28';
var client_secret = '*****************************';
var user = '*********';
var pass = '*********';
httprequest.addParameter('grant_type', 'password');
httprequest.addParameter('username', user);
httprequest.addParameter('password', pass);
httprequest.addParameter('client_id', client_id);
httprequest.addParameter('client_secret', client_secret);
httprequest.addParameter('scope', 'internal');
var res = httprequest.post('https://rest.synthesio.com/security/v1/oauth/token');
DOMO.log('res: ' + res);
所以我正在使用 Domo 开发人员工具(他们喜欢称之为 IDE)构建一个连接器,但我似乎无法让身份验证部分与他们的库一起使用。
Domo 使用 httprequest
库进行基本和 oauth 类型的身份验证。
我无法通过 Domo 取回令牌,但我可以通过 curl
或使用 Postman api 工具轻松完成。
下面是代码:
var client_id = '4969e1ea-71b9-3267-ae7d-4ce0ac6bfa28';
var client_secret = '*****************************';
var user = '*********';
var pass = '*********';
var postData =
{
data: {
'grant_type': 'password',
'username': user,
'password': pass,
'client_id': client_id,
'client_secret': client_secret,
'scope': 'internal'
}
};
var res = httprequest.post('https://rest.synthesio.com/security/v1/oauth/token', postData);
DOMO.log('res: ' + res);
如果您有不同的方法来解决这个问题,请告诉我。我试图在 postData
object 本身中添加 header 以及删除 data
变量,也将属性保持原样。
当您将 postData 作为对象传递时,DOMO 将 运行 通过 JSON.stringify 并将结果发送到请求正文中。
您可以手动编码请求正文或使用他们的 httprequest.addParameter 功能来添加它们。尝试这样的事情:
var client_id = '4969e1ea-71b9-3267-ae7d-4ce0ac6bfa28';
var client_secret = '*****************************';
var user = '*********';
var pass = '*********';
httprequest.addParameter('grant_type', 'password');
httprequest.addParameter('username', user);
httprequest.addParameter('password', pass);
httprequest.addParameter('client_id', client_id);
httprequest.addParameter('client_secret', client_secret);
httprequest.addParameter('scope', 'internal');
var res = httprequest.post('https://rest.synthesio.com/security/v1/oauth/token');
DOMO.log('res: ' + res);