В скрипте bash, когда я установил:
myUrl="https://api.site.com/api/v2/export/123456"
и затем запустите:
awsAccess=$(curl -X GET $(echo "${myUrl}") \
--header "Accept: application/json" \
--header "Authorization: Bearer myAuthCode")
Я получаю правильный результат JSON:
{"status":"Complete","total_files":1,"completed_files":1,"file_urls":["<a href="https://s3.amazonaws.com/media.site.com/task/123456/encoded-file-name.csv?AWSAccessKeyId=myAWSAccessKeyId" rel="nofollow noreferrer">https://s3.amazonaws.com/media.site.com/task/123456/encoded-file-name.csv?AWSAccessKeyId=myAWSAccessKeyId</a>"]}
Но когда я получаю токен, подобный этому:
myToken=$(echo "${content}" | jq -r '.token' <<< "${myAccessJSON}")
Какие наборы myToken=123456
И я создаю свою переменную URL следующим образом:
baseUrl="https://api.site.com/api/v2/export/"
myUrl=$baseUrl$myToken
А потом я бегу:
awsAccess=$(curl -X GET $(echo "${myUrl}") \
--header "Accept: application/json" \
--header "Authorization: Bearer myAuthCode")
Я получаю следующий JSON-ответ:
{"status":"Pending","total_files":1,"completed_files":0,"file_urls":[]}
Который не содержит URL, который мне нужен для загрузки запрашиваемого файла. Еще более странным является то, что когда я ввожу приведенные выше команды непосредственно в cli, токен добавляется правильно, и я получаю полный ответ с нужным мне URL. Как передать объединенный URL-адрес с токеном в моем запросе cURL через сценарий оболочки?