私は自分の最初のPOST要求をAPIにしようとしています。何らかの理由で、私は常にステータス403を受け取ります。私はそれが間違って生成されている署名だと思う。 api-keyとクライアントIDは間違いなく正しいです。POST要求を正しく行う方法
私のコード私はBitstamp APIにアクセスしようとしている
<- HTTP/1.1 403 Authentication Failed
nonce <-as.integer(Sys.time())
post_message <- paste0(nonce, data_client.id, data_key) # data_client.id = client id # data_key = key
sha.message <- toupper(digest::hmac(data_secret, object = post_message, algo = 'sha256', serialize = TRUE))
url <- 'https://www.bitstamp.net/api/v2/balance/'
body = list('API-KEY' = data_key, 'nonce' = nonce, 'signature' = sha.message)
httr::POST(url, body = body, verbose())
出力:https://www.bitstamp.net/api/?package=Rbitcoin&version=0.9.2
すべてのプライベートAPI呼び出しが認証を必要とします。 認証を成功させるには、APIキー、署名、および nonceパラメータを指定する必要があります。
は、 "アカウント" に進み、APIキーを取得するには、APIキー、 "セキュリティ"、次に "APIへのアクセス"。 権限を設定し、[キーを生成]をクリックします。
NONCEN
onceは通常の整数です。それは毎回 リクエストを行う度に増やさなければなりません。詳細はこちらをご覧ください。例:最初のリクエストでnonce を1に設定した場合は、 の2番目のリクエストで少なくとも2に設定する必要があります。あなたは1で始める必要はありません。共通の は、そのパラメータにUNIX時間を使用することです。
SIGNATURE
署名ナンス、顧客 ID(ここで見つけることができる)とAPIキーを含むHMAC-SHA256エンコードされたメッセージです。 HMAC-SHA256コードは、APIキーで生成された秘密鍵を使用して生成された である必要があります。 このコードは、16進表現(64 大文字)に変換する必要があります。