質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Bitcoin

Bitcoinは、インターネット上で流通している電子マネーです。P2Pネットワークを通じた安価な決済コストが実現できる一方、取引時の危険性や闇市場・資金洗浄など不正取引の温床といった法的問題も抱えています。

Q&A

1回答

734閲覧

GAS bitbank での認証について

testes11

総合スコア12

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Bitcoin

Bitcoinは、インターネット上で流通している電子マネーです。P2Pネットワークを通じた安価な決済コストが実現できる一方、取引時の危険性や闇市場・資金洗浄など不正取引の温床といった法的問題も抱えています。

0グッド

1クリップ

投稿2019/08/18 07:53

編集2019/08/18 08:00

https://gist.github.com/M-Igashi/82796c58deb6ae44640fc6ae3001b978

上記を参考にBitbankの認証及び残高の表示をしたいと考えています。

上記コードはコインチェックでは動いたのですが、bitbankでは動きませんでした。

多少改変したのですが、うまく動きません。( {"success":0,"data":{"code":20001}}の表示)

原因がわかりましたらご教示ください。

Google

1function bitbank(){ 2 var access = "aaa"; //あなたのアクセスキーを入力 3 var secret = "bbb"; //あなたのアクセスシークレットを入力 4 5 var date = new Date(); 6 var nonce = Math.floor((date.getTime()/1000)).toString(); //Unix時間をテキスト化 7 var url = "https://api.bitbank.cc/v1/user/assets"; //リクエストURL 8 //var body = {}; //postリクエストの場合はパラメタをJSON形式で記述 9 //var payload = JSON.stringify(body); //bodyをpayload化 10 var message = nonce+url; //postリクエストの場合はこの後ろに +payload を追加 11 12 var sig = Utilities.computeHmacSha256Signature(message, secret); //メッセージをHMAC-SHA256で暗号化 13 14 var signature = sig.reduce(function(str,chr){ 15 chr = (chr < 0 ? chr + 256 : chr).toString(16); 16 return str + (chr.length==1?'0':'') + chr; 17 },''); //Google Apps Scriptはバイト配列で暗号を返すので16進数化 18 19 var headers = { 20 "Content-Type": "application/json",//★改変箇所 21 "ACCESS-KEY":access, 22 "ACCESS-NONCE":nonce, 23 "ACCESS-SIGNATURE":signature  24 }; //ヘッダー情報を格納 25 26 var options = { 27 "method": "get", //postかgetか 28 "headers": headers, 29 //,"payload": payload //postリクエストの場合はpayloadをoptionsに格納 30 }; 31 32 var response = UrlFetchApp.fetch(url, options); //HTTPリクエスト 33 34 Logger.log(response); //ログ表示 35 36}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

testes11

2019/08/21 13:42

macaron_xxxさん 返信ありがとうございます。正常に取得できます。
guest

回答1

0

messageに使用するのは/v1を含めたリクエストのパスですね。

var message = nonce + '/v1/user/assets';

投稿2019/08/22 02:25

macaron_xxx

総合スコア3191

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

testes11

2019/08/24 10:10

返信ありがとうございます。確かにドキュメントを見ると、 var message = nonce + '/v1/user/assets'; の形式でした。 ただ、該当箇所を変更しましたが引き続き {"success":0,"data":{"code":20001}}の表示です。。 現状のコードは以下 function bitbank(){ var access = "aaa"; //あなたのアクセスキーを入力 var secret = "bbb"; //あなたのアクセスシークレットを入力 var date = new Date(); var nonce = Math.floor((date.getTime()/1000)).toString(); //Unix時間をテキスト化 var url = "https://api.bitbank.cc/v1/user/assets&quot;; //リクエストURL //var body = {}; //postリクエストの場合はパラメタをJSON形式で記述 //var payload = JSON.stringify(body); //bodyをpayload化 var message = nonce + '/v1/user/assets'; //postリクエストの場合はこの後ろに +payload を追加 var sig = Utilities.computeHmacSha256Signature(message, secret); //メッセージをHMAC-SHA256で暗号化 var signature = sig.reduce(function(str,chr){ chr = (chr < 0 ? chr + 256 : chr).toString(16); return str + (chr.length==1?'0':'') + chr; },''); //Google Apps Scriptはバイト配列で暗号を返すので16進数化 var headers = { "Content-Type": "application/json", "ACCESS-KEY":access, "ACCESS-NONCE":nonce, "ACCESS-SIGNATURE":signature  }; //ヘッダー情報を格納 var options = { "method": "get", //postかgetか "headers": headers, //,"payload": payload //postリクエストの場合はpayloadをoptionsに格納 }; var response = UrlFetchApp.fetch(url, options); //HTTPリクエスト Logger.log(response); //ログ表示 }
macaron_xxx

2019/08/26 01:19 編集

このコードでsignatureの値がテストAPIと一致したので認証できそうなのですが…。 bitbankのアカウントがないので、これ以上サポートできなさそうです。。 (デモ用のAPIキー、シークレットがなさそうなので)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問