【问题标题】:415 Unsupported Media Type error - Domo Connector415 不支持的媒体类型错误 - Domo 连接器
【发布时间】:2016-07-14 21:40:04
【问题描述】:

所以我正在使用 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 对象本身中添加标头,并删除 data 变量,同时保留属性。

【问题讨论】:

    标签: javascript oauth oauth-2.0 httprequest domo


    【解决方案1】:

    当您将 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);
    

    【讨论】:

      猜你喜欢
      • 2018-10-13
      • 2018-07-25
      • 2016-09-09
      • 2017-08-28
      • 2021-10-12
      • 2017-10-23
      • 2014-10-02
      • 2014-06-21
      • 2016-09-10
      相关资源
      最近更新 更多