2016-07-14 5 views
0

그래서 Domo 개발자 도구를 사용하여 커넥터를 구축하고 있습니다 (IDE라고 부르는 것을 좋아합니다). 라이브러리와 함께 작동하는 인증 부품을 얻지 못하는 것 같습니다.415 지원되지 않는 미디어 유형 오류 - Domo 커넥터

Domo는 기본 인증 유형과 oauth 인증 유형에 대해 httprequest 라이브러리를 사용합니다.

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); 
관련 문제