Files
OptionRecorderSchwab/getNewAccessToken.sh
Joe Tretter 5535bdae7f - Separate getting option chains from recording
- Add checking for market open
- Remove SPX from recording
- Hopefully precent the refresh token from being
  overwritten sometimes
2024-08-26 15:18:24 -05:00

29 lines
1.2 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 found the refresh token to be empty after the network is unreachable, therefore I don't handle the refresh token here...
## 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)
#