teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

文章の追加

2017/05/27 08:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,6 +1,7 @@
1
1
  ###前提・実現したいこと
2
2
  powershellでzaif APIを用いて、システム取引を実現したいと考えています。
3
3
  当該エラーコードにあるようにシグネチャがマッチしていないとのことです。
4
+ ハッシュの計算結果が間違っているのでしょうか?
4
5
  お力添えをお願いいたします。
5
6
 
6
7
  ###参考サイト

1

ソースコードにコメントを追加した

2017/05/27 08:38

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -29,27 +29,34 @@
29
29
  ```powershell:zaif_api.ps1
30
30
  Add-Type -AssemblyName System.Web
31
31
 
32
+ #nonceの作成
32
33
  $times = [System.DateTime]::UtcNow
33
34
  $ttimess = New-Object System.DateTime(1970,1,1)
34
35
  $tmp_nonce = $times - $ttimess
35
36
  $nonce = [System.Convert]::ToDecimal($tmp_nonce.TotalSeconds)
36
37
 
38
+ #ヘッダーデータの作成
37
39
  $data = [System.Web.HttpUtility]::ParseQueryString([string]::Empty)
38
40
  $data.Add("nonce",$nonce.ToString())
39
41
  $data.Add("method","get_info2")
40
42
 
41
-
43
+ #zaif apiのキー
42
44
  $key ="zaif api key"
43
45
  $secret_key = "zaif api secret key"
46
+
47
+ #ハッシュの計算(signの作成)
44
48
  $hashs = [Security.Cryptography.HashAlgorithm]::Create("HMACSHA512");
45
49
  $hashs.Key = [Text.Encoding]::UTF8.GetBytes($secret_key);
46
50
  $compute_sign = $hashs.ComputeHash([Text.Encoding]::UTF8.GetBytes([System.Web.HttpUtility]::UrlEncode($data.ToString,[Text.Encoding]::UTF8)));
47
51
  $sign = [System.BitConverter]::ToString($compute_sign).replace("-","");
48
52
 
53
+ #ヘッダーの設定
49
54
  $webclients = [System.Net.WebClient]::new()
50
55
  $webclients.Headers.Set("Key", $key)
51
56
  $webclients.Headers.Set("Sign", $sign)
52
57
  $WebClients.Headers.Tostring()
58
+
59
+ #リクエストの送信
53
60
  $responce_byte = $webclients.UploadValues("https://api.zaif.jp/tapi",$data)
54
61
  [System.Web.HttpUtility]::UrlDecode($responce_byte,[System.Text.Encoding]::UTF8)
55
62
  ```