首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R GDAX-API删除请求

R GDAX-API删除请求
EN

Stack Overflow用户
提问于 2017-12-28 17:42:16
回答 2查看 225关注 0票数 0

我在R中的DELETE请求中遇到了问题,我已经成功地使用下面的代码生成了GETPOST请求。如有任何帮助或指示,将不胜感激。

它需要从GDAX到api.keysecretpassphrase才能工作。

这是我的功能:

代码语言:javascript
复制
library(RCurl)
library(jsonlite)
library(httr)
library(digest)

cancel_order <- function(api.key,
                         secret,
                         passphrase) {
  api.url <- "https://api.gdax.com"

  #get url extension----
  req.url <- "/orders/"

  #define method----
  method = "DELETE"

  url <- paste0(api.url, req.url)

  timestamp <-
    format(as.numeric(Sys.time()), digits = 13) # create nonce
  key <- base64Decode(secret, mode = "raw") # encode api secret

  #create final end point----
  what <- paste0(timestamp, method, req.url)

  #create encoded signature----
  sign <-
    base64Encode(hmac(key, what, algo = "sha256", raw = TRUE)) # hash

  #define headers----
  httpheader <- list(
    'CB-ACCESS-KEY' = api.key,
    'CB-ACCESS-SIGN' = sign,
    'CB-ACCESS-TIMESTAMP' = timestamp,
    'CB-ACCESS-PASSPHRASE' = passphrase,
    'Content-Type' = 'application/json'
  )
  ##------------------------------------------------
  response <- getURL(
    url = url,
    curl = getCurlHandle(useragent = "R"),
    httpheader = httpheader
  )
  print(rawToChar(response)) #rawToChar only on macOS and not on Win
}

我得到的错误是"{\"message\":\"invalid signature\"}",尽管相同的命令将对GET & POST进行编码和签名。

参考文献: GDAX API文档

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-12-29 19:32:46

好的。我接受了@mrflick的建议,并根据他对请求宾的反馈,指出了我与不同但相关的问题的联系。

经过仔细检查后,我意识到,出于某种原因,我的请求被视为POST请求,而不是DELETE请求。因此,我决定将getURL函数替换为RCurl中的另一个更高级别的函数,这样它才能工作。

代码语言:javascript
复制
response <- httpDELETE(
  url = url,
  curl = getCurlHandle(useragent = "R"),
  httpheader = httpheader
)

其他一切都保持不变。很显然签名从来没有问题。

我现在已经将这个函数添加到我的非官方包装器rgdax中了。

编辑::

非官方的包装现在是正式的,在CRAN上。

票数 0
EN

Stack Overflow用户

发布于 2017-12-28 19:54:19

只是猜测一下,因为我对API不熟悉,但也许您错过了“order-id”.

看:https://docs.gdax.com/?javascript#cancel-an-order

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48011953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档