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

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

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

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

Bitcoin

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

533閲覧

GAS BitbankAPI 注文情報を取得できない

Hmasahero2

総合スコア10

Google Apps Script

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

Bitcoin

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

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2022/07/22 05:46

注文データを獲得したい

吐き出されるコード { success: 1, data: { orders: [] } }

該当のソースコード

GAS

1 2 3 // プライベートAPI 4 const PRIVATE_URL = "https://api.bitbank.cc/v1"; 5 6 // APIアクセスキーとアクセスシークレット 7 const ACCESS_KEY = "✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕"; // ご自分のアクセスキーを入れてください 8 ACCESS_SECRET = "✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕✕"; // ご自分のアクセスシークレットを入れてください 9 10 // UNIXタイムスタンプからナンスを作成 11 const date = new Date(); 12 const nonce = Math.floor((date.getTime() / 1000)).toString(); 13 14 15 // パラメータをリクエストボディに設定 16 const body = { 17 "pair": "btc_jpy", // ビットコインの場合です。他の通貨を希望する場合は変更してください 18 "order_ids":[1,2] 19 }; 20 21 // bodyの内容をJSON文字列に変換 22 const payload = JSON.stringify(body); 23 24 25 // 連結文字列を作成 26 const concatenated_string = `${nonce}${payload}`; 27 28 // 著名を作成 29 const signature_base = Utilities.computeHmacSha256Signature(concatenated_string, ACCESS_SECRET); 30 const signature = signature_base.reduce(function (str, chr) { 31 chr = (chr < 0 ? chr + 256 : chr).toString(16); 32 return str + (chr.length == 1 ? '0' : '') + chr; 33 }, ''); 34 // ヘッダー情報を設定 35 const headers = { 36 "Content-Type": "application/json", 37 "ACCESS-KEY": ACCESS_KEY, 38 "ACCESS-NONCE": nonce, 39 "ACCESS-SIGNATURE": signature 40 }; 41 42 // payloadをoptionsに設定 43 const options = { 44 "method": "POST", 45 "headers": headers, 46 "payload": payload 47 }; 48 49 response = JSON.parse(UrlFetchApp.fetch(PRIVATE_URL + '/user/spot/orders_info', options)); 50 console.log(response); 51 52

試したこと

// パラメータをリクエストボディに設定
const body = {
"pair": "btc_jpy",
"order_ids":[1,2]
};

問題点は "order_ids"の配列の数値な気がするのですが実際のIDを入れたら
{ success: 1, data: { orders: [ [Object] ] } }
となります。
謎すぎて泣きそうです

spot/active_orders ではちゃんとほしい情報がもらえます。

補足情報(FW/ツールのバージョンなど)

BitbankAPIのカンファレンスURLです
https://github.com/bitbankinc/bitbank-api-docs/blob/master/rest-api_JP.md

ここの記載問題のところ
https://github.com/bitbankinc/bitbank-api-docs/blob/master/rest-api_JP.md#%E6%B3%A8%E6%96%87%E6%83%85%E5%A0%B1%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%E8%A4%87%E6%95%B0

助けて偉い人ー

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

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

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

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

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

guest

回答1

0

ベストアンサー

console.logはある程度深い階層にあるオブジェクトは表示されないようです。

例えば以下のコードを実行すると

javascript

1const obj={ 2 hoge:"ほげ", 3 bar:{ 4 fuga:[ 5 {a:"ば",b:"あ"} 6 ] 7 } 8 } 9 Logger.log(obj) 10 console.log(obj) 11 console.log(JSON.stringify(obj))

以下のようにログ出力がされます。

{bar={fuga=[{b=あ, a=ば}]}, hoge=ほげ} { hoge: 'ほげ', bar: { fuga: [ [Object] ] } } {"hoge":"ほげ","bar":{"fuga":[{"a":"ば","b":"あ"}]}}

なので、ログ出力をしたいのならLogger.logを使うか、レスポンスをJSON.parseしないで表示してみてください。
データは正常に取れている(はず)なのでそのresponseはそのまま使っても問題ないと思います。

投稿2022/07/25 06:49

arashiyama

総合スコア33

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問