如何使用JWT与API进行交互。 我已经获得了一个API网址,一个集成密钥和一个持票人,而且我被告知要使用" POST集成密钥" 我需要从那里的系统和MS SQL数据库中获取数据,最好使用SSIS包。
我之前使用curl来更新并获取我的IP地址,我只需通过网站设置一个API密钥并运行如下命令。
curl -u abcdabcd-abcd-abcd-abcd-abcdabcdabcd:x -X GET https://web.site.com/api/v1/addresses.json
我理解JWT有点像,因为它编码为header.payload.signature,但我对如何使用一个系统将数据从系统中取出来感到困惑。
答案 0 :(得分:0)
最后,在供应商/开发人员要求提供适当文档并且告诉我他的系统使用JWT之间的大约10封电子邮件之后,他给我发了一个关于他如何使用邮递员测试API的截图。从他的截图我能够弄清楚需要做什么,下面是我的powershell实现,如果它有益于任何人。
#$fromdate = (Get-Date).AddDays(-7)
$fromdate = '01/01/2016'
[string]$body = '{"IntegrationKey":"abcdabcd-abcd-abcd-abcd-abcdabcdabcd"}'
$URI = "https://web.site.com/api/token"
# -ProxyUseDefaultCredentials
(New-Object System.Net.WebClient).Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials
[string]$jwt = Invoke-WebRequest $uri -Method post -ContentType 'application/json; charset=UTF-8' -Body $body
$headers = @{"Authorization"="Bearer "+ $jwt.replace("`"","")}
$uri = "https://web.site.com/api/GetData?startDate=" + $fromdate
$response = ".\ResponseData.json"
Invoke-WebRequest $uri -Method get -Headers $headers -TimeoutSec 6000 -OutFile $response