回答編集履歴
3
追記
answer
CHANGED
@@ -52,4 +52,10 @@
|
|
52
52
|
|
53
53
|
5, 回答した後思い出したのですが、質問文のコードはJSON文字列で送っていますが。
|
54
54
|
相手のAPIがjson文字列で送信しなさいってAPIドキュメントのどこに書いてありましたか?
|
55
|
-
仮想通貨のAPIは`body`にURLエンコード(クエリ文字列形式)で送ることが多いのですが。
|
55
|
+
仮想通貨のAPIは`body`にURLエンコード(クエリ文字列形式)で送ることが多いのですが。
|
56
|
+
|
57
|
+
6, `body`データを`post`していますが、`key`、`nonce`、`signature`が含まれていません。
|
58
|
+
> Create Order
|
59
|
+
> POST: https://bx.in.th/api/order/
|
60
|
+
>
|
61
|
+
> POSTed fields (in addition to the standard key, nonce, signature fields:
|
2
追記
answer
CHANGED
@@ -3,10 +3,10 @@
|
|
3
3
|
プライベートAPIを一回も叩いたことがない場合は
|
4
4
|
ライブラリを利用してそのライブラリのリクエスト内容を`Fiddler`で確認するのが一番早いのですが。
|
5
5
|
|
6
|
-
違ってそうな
|
6
|
+
APIを使った事はないですが、ドキュメントを見て、コード上違ってそうな部分を指摘します。
|
7
7
|
1, ノンスの型と送る値 unixタイム(要するに数値です)、以下は文字列です。
|
8
|
-
**
|
8
|
+
**ノンスは相手の取引所APIが許容する桁数がドキュメントに一切記載されていないので**
|
9
|
-
いろいろ試してください。A取引所のAPIはノンスはこの桁までOK、B取引所はこの桁までOKと取引所で違います。そしてその件はドキュメントに一切書かれていません。
|
9
|
+
いろいろ試してください。A取引所のAPIはノンスはこの桁までOK、B取引所はこの桁までOKと取引所で違います。そしてその件はAPIドキュメントに一切書かれていません。
|
10
10
|
|
11
11
|
```Python
|
12
12
|
timestamp = str(datetime.datetime.today())
|
@@ -16,7 +16,7 @@
|
|
16
16
|
>
|
17
17
|
> A common practice is to use unix time for that parameter.
|
18
18
|
|
19
|
-
2, Postで送るヘッダーフィールドが違います
|
19
|
+
2, Postで送るヘッダーフィールド名が違います。
|
20
20
|
```Python
|
21
21
|
'ACCESS-KEY' : api_key,
|
22
22
|
'ACCESS-TIMESTAMP' : timestamp,
|
@@ -29,7 +29,9 @@
|
|
29
29
|
> nonce - Nonce
|
30
30
|
> signature - Signature
|
31
31
|
|
32
|
+
3, 署名部分HMACが不要です、そしてパラメータが違います。
|
33
|
+
署名形式:HMAC-256 → SHA-256
|
32
|
-
|
34
|
+
パラメータ:api_key、nonce、api_secret
|
33
35
|
|
34
36
|
```Python
|
35
37
|
signature = hmac.new(bytearray(api_secret.encode('utf-8')), message.encode('utf-8') , digestmod = hashlib.sha256 ).hexdigest()
|
@@ -48,5 +50,6 @@
|
|
48
50
|
|
49
51
|
---
|
50
52
|
|
51
|
-
5, 回答した後思い出したのですが、
|
53
|
+
5, 回答した後思い出したのですが、質問文のコードはJSON文字列で送っていますが。
|
54
|
+
相手のAPIがjson文字列で送信しなさいってAPIドキュメントのどこに書いてありましたか?
|
52
|
-
仮想通貨のAPIは
|
55
|
+
仮想通貨のAPIは`body`にURLエンコード(クエリ文字列形式)で送ることが多いのですが。
|
1
追記
answer
CHANGED
@@ -1,5 +1,7 @@
|
|
1
|
+
参考にしているページの取引所は`bifFlyer`で対象とする取引所`bx.in.th`なので送り方まず違います。
|
2
|
+
|
1
3
|
プライベートAPIを一回も叩いたことがない場合は
|
2
|
-
ライブラリを利用してそのライブラリのリクエスト内容をFiddlerで確認するのが一番早いのですが。
|
4
|
+
ライブラリを利用してそのライブラリのリクエスト内容を`Fiddler`で確認するのが一番早いのですが。
|
3
5
|
|
4
6
|
違ってそうなところを上げます。
|
5
7
|
1, ノンスの型と送る値 unixタイム(要するに数値です)、以下は文字列です。
|
@@ -27,7 +29,7 @@
|
|
27
29
|
> nonce - Nonce
|
28
30
|
> signature - Signature
|
29
31
|
|
30
|
-
3, HMAC-256で署名したいわけではないので、hmac.newが不要ですhashlib.sha256のみ。
|
32
|
+
3, HMAC-256で署名したいわけではないので、hmac.newが不要ですhashlib.sha256のみ。そしてhash対象が違います。api_keyとnonceとapi_secret
|
31
33
|
|
32
34
|
```Python
|
33
35
|
signature = hmac.new(bytearray(api_secret.encode('utf-8')), message.encode('utf-8') , digestmod = hashlib.sha256 ).hexdigest()
|
@@ -42,4 +44,9 @@
|
|
42
44
|
response = requests.post( base_url + path_url , data = body , headers = headers)
|
43
45
|
```
|
44
46
|
|
45
|
-
`requests`を使った正しい`json`の送り方は`json = param`です。
|
47
|
+
`requests`を使った正しい`json`の送り方は`json = param`です。
|
48
|
+
|
49
|
+
---
|
50
|
+
|
51
|
+
5, 回答した後思い出したのですが、相手のAPIがjson形式で送信しなさいってどこに書いてありますか?
|
52
|
+
仮想通貨のAPIはform-bodyにURLエンコード(クエリ文字列形式)で送ることが多いのですが。
|