2017-08-18 3 views
0

に送信しました。Rを使用して暗号化されたリクエストをAPIに送信しようとしています。JSON本体をPOSTでエンコードしたリクエストをR

具体的には/v3/orders/のリクエストです。

API keyおよびsecretのほか、増加するnonceの使用が必要です。 openssljsonlitehttrライブラリ使用

体は、JSONは、符号化されなければならない。

book<-"btc_eth" 
side<-"sell" 
major<-"0.1" 
price<-"100" 
type<-"limit" 

Payload<-toJSON(data.frame(book=book,side=side,major=major,price=price,type=type)) 

またSHA256暗号化signatureで構成Authorizationヘッダを必要とします。

N<-NONCE() # "1503033312" 

method<-"POST" 

Path<-"/v3/orders/" 

Signature<-sha256(paste0(N,method,Path,Payload),secret) 

header<-paste0("Bitso ",key,":",N,":",Signature) 

最後にリクエストは次のようになります。

url<-"https://api.bitso.com/v3/orders/" 

r<-POST(url, body = Payload, add_headers(Authorization=header)) 

私は前にこのAPIには、空のペイロードを持つ要求を投稿することができたが、この呼び出しは、について何かを、サポートされていないメディアタイプのエラーを送信私はJSONのペイロードをエンコーディングしています。

このリクエストを配置する方法については、RubyとPHPの例があります。here

答えて

0

だから、私は最終的にリクエストを送信することができました。

ブラケットを削除する方法についての彼の応答について、私はColin Fayに感謝しなければなりません。

ものだった、ヘッダはunbracketed JSON本体で構成されなければならなかったが、体には、以下のような自動JSONエンコーディングでリストとして送信する必要がありました:

NC<-NONCE() 

mthd<-"POST" 

Pyld<- toJSON(data.frame(book=book,side=side,major=major,price=price,type=type)) 

Pyld <- gsub("\\[|\\]", "", Pyld) 

body<-list(book=book,side=side,major=major,price=price,type=type) 

url<-"https://api.bitso.com/v3/orders/" 

Pth<-"/v3/orders/" 

hdr<-paste0("Bitso ",ky,":",NC,":",sha256(paste0(NC,mthd,Pth,Pyld),scrt)) 

r<-POST(url, body = body, add_headers(Authorization=hdr),encode="json",verbose()) 
0

私が試してみる鍵がないので、これは私がかつて直面していたケースからの答えです。あなたは少しJSON呼び出しを変更したいかもしれません。 toJSONあなたの両側にブラケットを置きます。だから、あなたがそれらを削除する必要があります。

# Go from 
Payload<- jsonlite::toJSON(data.frame(book=book,side=side,major=major,price=price,type=type)) 
Payload 
[{"book":"btc_eth","side":"sell","major":"0.1","price":"100","type":"limit"}] 

# To 
Payload <- gsub("\\[|\\]", "", Payload) 
Payload 
{"book":"btc_eth","side":"sell","major":"0.1","price":"100","type":"limit"} 

ベスト、それが動作するかどうか私に教えてください、

コリン・

+0

私は私の要求を投稿することができましたブラケットを取り除くことは非常に重要でした。 ありがとうございます。 私自身の質問に答えました。 –

関連する問題