パッケージを使用しrameritrade
て APIrefresh token
とaccess token
. Rscripts
とを生成する2つの別々のものがrefresh token
ありaccess token
ます。はrefresh token
90 日間有効で、access token
は 30 分間有効です。Windows Scheduled Task
私の目標は、パッケージ経由でセットアップすることtaskscheduleR
です。access token Rscript
30分ごとに意図した時間実行することで、成功しました。これはcmd
ラインを通して実行され、Rscript.exe
グラフィカル インターフェイスなしで実行されます。
rameritrade
パッケージは、がオプションに格納されるaccess token
ビアoAuth2
を作成します。access token
"デフォルトでは、アクセス トークンはオプションに保存され、自動的に下流の関数に渡されます"
で作成された.log
ファイルはtaskscheduleR
、新しい作成機能access token
が成功したことを示しています。
reprex
特定の API 情報を明らかにせずに を生成する方法がわからないconsumer_key
ため、ワークフローのコードを次に示します。
新世代を実行するRscript access token
。
consumer_key <- "key specific to created app"
refresh_token <- readRDS("~/refresh_token.rds")
new_access_token <- function(){
rameritrade::td_auth_accessToken(consumerKey = consumer_key, refreshToken = refresh_token)
}
new_access_token()
options("td_access_token" = access_token)
これがログの出力です
[1] "Successful Login. Access Token has been stored and will be valid for 30 minutes"
$access_token
[1] "very long alphanumeric string (personal)"
$scope
[1] "PlaceTrades AccountAccess MoveMoney"
$expires_in
[1] 1800
$token_type
[1] "Bearer"
$expireTime
[1] "2021-05-12 12:29:58 EDT"
$createTime
[1] "2021-05-12 12:00:03 EDT"
私の質問は、 を使用するために呼び出さなければならないオブジェクト ファイルにsave/readRDS
を保存するために使用する必要がなく、グローバル R 環境で新しく生成されたファイルをこのコードで保存する方法があるので、関数を実行するときにAPI呼び出しを認証するために呼び出すコードを書く必要がないように?access token
access token
access token
td_accountData()
access token
access token
R 環境で自動更新を利用できるようにしたいと考えています。洞察があれば、私の人生はずっと楽になります。私はRの初心者なので、私が持っているすべてのオプションを認識していません。.Renvironで解決に取り組んでいます
編集:options("td_access_token" = new_access_token())
CRON ジョブに
コード行を追加しました。このスクリプトを手動で実行すると、現在の に更新されtd_access_token
ますが、ジョブが自動的に実行される場合は発生しません。options
access_token