Closed jung-hunsoo closed 5 years ago
업데이트입니다.
잔고 조회는 정상적으로 작동합니다. 시그니처 오류는 서버측이 아닌 제 리퀘스트에서 사용하는 GAS 펑션의 (오래된) 오류 때문으로 확인되었습니다. 인코딩 라이브러리를 변경하니 정상적으로 인코딩 됩니다.
그런데 주문 삭제는 아직 잘 안되는 듯 합니다. 확인 부탁드립니다. 제 개인적인 로직에서는 마이너한 이슈라서 그리 문제되지 않지만 다른 유저에게는 잠재적인 리스크가 될 것 같습니다.
If I understand correctly from the translation you managed to make a private request to the gopax api from Google App Script (GAS). If so, can you please share your code. I tried both the GAS Utilities.MacAlgorithm.HMAC_SHA_512 function and the jsSHA but it's causing me a headache.
@moosylog You got understood correctly. The fn HMAC_SHA_512
doesn't work properly. Instead jsSHA512.gs
should be fine; I've been using this for over 1 year without a problem.
First, create a file jsSHA512.gs
then copy from the source Caligatio/jsSHA in your project.
Next build a signature then load to headers.
Here's a code snippet.
fetchPrivateGet: function(requestPath) {
requestPath = requestPath || '/balances';
var credential = AlphacoCommon.getMyCredential('gopax');
var baseUrl = 'https://api.gopax.co.kr';
var nonce = new Date().getTime().toFixed();
var params = {};
var requestUrl = baseUrl + requestPath;
var message = nonce + 'GET' + requestPath;
var shaObj = new jsSHA("SHA-512", "TEXT");
shaObj.setHMACKey(credential.secret, "B64");
shaObj.update(message);
var signature = shaObj.getHMAC("B64");
var headers = {
'API-KEY': credential.apikey,
'Signature': signature,
'Nonce': nonce,
};
var options = {
'method': 'GET',
'headers': headers,
'contentType': 'application/json'
};
var response = UrlFetchApp.fetch(requestUrl, options);
if (response.getResponseCode() == 200) {
return JSON.parse(response.getContentText());
}
},
Hope this helps.
it definitely helps ! thanks a ton
안녕하세요. 마땅한 문의 경로 및 contribute policy가 없어 이슈로 올려봅니다.
Google Apps Script(GAS)로 간단한 server-less webapp을 만들어 쓰고 있습니다. 유저확대에 도움될 것 같아 샘플 코드를 PR 올려도 되는지 문의드립니다.
아울러 현재 Private API가 작동하고 있는지요? 잔고 조회를 요청하면 자꾸
{errorMessage=Error: Invalid signature, errormsg=Error: Invalid signature}
이 리턴됩니다. Node.js와 Python으로signature
는 모두 정상적으로 생성되는 것을 확인하였습니다.