2016-07-14 128 views
0

因此,我使用Domo开发人员工具(他们喜欢称之为IDE)构建连接器,我似乎无法获取身份验证片与其库一起工作。415不受支持的媒体类型错误 - Domo连接器

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); 

Pleae让我知道,如果你有这接近一个不同的方式。我试图在postData对象本身中添加标题,并删除data变量,并保留属性原样。

回答

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); 
相关问题