Files
OptionRecorderSchwab/getNewAccessToken.sh

28 lines
1.1 KiB
Bash
Executable File

#!/bin/bash
#set -x
mkdir -p temp
curl -s -X POST https://api.schwabapi.com/v1/oauth/token \
-H "Authorization: Basic $(<appCredentials.dat)" \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d "grant_type=refresh_token&refresh_token=$(<refresh_token.dat)" > temp/accessTokenReqResp.$$.json
jq -e -r .access_token temp/accessTokenReqResp.$$.json > access_token.dat
if [[ $? -ne 0 ]]; then
errMsg="ERROR: GETTING THE ACCESS TOKEN FAILED! $(<temp/accessTokenReqResp.$$.json)"
systemd-cat -t "`basename $0`" -p err <<< ${errMsg}
>&2 echo "${errMsg}"
curl -d "" -X POST "https://deadswitch.kawomi.com/api/v1?topic=trade.schwab.error.getNewAccessToken&secs=1&email=joe@kawomi.com"
exit 1
fi
#echo Access Token: $(<access_token.dat)
# I have not seen it change, but let's see if they give us a new one before expiry...
# after all they send it so we should probably process it.
jq -e -r .refresh_token temp/accessTokenReqResp.$$.json > temp/refresh_token.dat
if [[ $? -eq 0 ]]; then
mv temp/refresh_token.dat refresh_token.dat
fi
#echo Refresh Token: $(<refresh_token.dat)