ROAuth работает нормально для аутентифицированных запросов GET, но запросы POST не работают, и очень сложно диагностировать проблему. Я хотел бы перейти на использование httr
, потому что ошибки более понятны, и я могу увидеть полный ответ.
Consumer Key: the key associated with your application
Consumer Secret: the key used to sign requests on behalf of your application
Access Token: the key used to make requests on behalf of your user account
Access Token Secret: the key used to sign requests on behalf of the user
документация / исследования:
https://www.ally.com/api/invest/documentation/oauth/
https://www.ally.com/api/invest/documentation/r/
https://github.com/cran/ROAuth/blob/master/R/ROauth.R
https://github.com/r-lib/httr/blob/master/R/oauth-signature.r
Я новичок в OAuth, поэтому мне не совсем понятно, какие ключи я должен использовать и где. Я попытался использовать пары ключей oauth, затем я попробовал пары ключей потребителя, но ни один из них не работал. Я не уверен, что делать
вот что у меня пока:
require(ROAuth)
require(RJSONIO)
require(glue)
require(xml2)
require(data.table)
require(tibble)
ally_app <- oauth_app(
"ally",
key = "",
secret = ""
)
ally_get <- function(endpoint,
baseurl = "https://api.tradeking.com/",
app = ally_app,
...) {
url <- modify_url(baseurl, path = endpoint)
info <- oauth_signature(url, method = "GET", app = app,other_params = "")
header_oauth <- oauth_header(info)
GET(url, header_oauth, ...)
}
res <- ally_get("v1/accounts.json")
stop_for_status(res)
content(res)
# returns 401 ???
# old method (works) --------------------------------------------
credentials <- OAuthFactory$new(consumerKey='',
consumerSecret='',
oauthKey = '',
oauthSecret = '',
needsVerifier=FALSE,
signMethod='HMAC')
# Update the connection so the handshake is TRUE
credentials$handshakeComplete <- TRUE
# Fetch account info
accounts <- credentials$OAuthRequest("https://api.tradeking.com/v1/accounts.json")
fromJSON(accounts)