2
Microsoftの認知サービスからテキスト分析APIをテストして評価しようとしています。私たちは、Invoke-RestMethodを使用してPowerShellスクリプトを素早く汚れたものにしようとしています。いくつかの微調整の後、私たちはまだ400のエラーを返しています。 JSONが修正されているように見えて、入力したAPIキーが正しいと思われるため、何が間違っているかはわかりません。私たちは別の人のブログで追加ヘッダーの使用について見つけたものを利用し、いくつかの亜種を試しましたが、ダイスはまだありませんでした。誰かが私たちの健全性チェックをすることはできますか?Microsoft認定APIのInvoke-RestMethodを使用して400の不正なリクエストエラーを取得する
#html tag stripper function
function htmlStrip ($results)
{
#using .NET toString method to ensure PS doesn't interpret same var incorrectly
$results = $results.toString()
$results -replace '<[^>]*(>|$)'
}
Try
{
[string]$sourceUrl = Read-Host "Enter a URL such as https://foobar.com"
}
Catch
{
Write-Host "URL requires http:// or https:// prefix e.g. https://cnn.com"
}
$webClient = New-Object Net.WebClient
[string]$results = $webClient.DownloadString($sourceUrl)
[string]$cleanResults = htmlStrip $results
$body =
[ordered]@{"documents" =
@{ "language" = "en"; "id" = $sourceUrl; "text" = $cleanResults }
}
#>
$body = [ordered]@{
"documents" =
@(
@{ "language" = "en"; "id" = $sourceUrl; "text" = $cleanResults }
)
}
$jsonBody = $body | ConvertTo-Json
#Begin Text Analytics API Call with Invoke-RestMethod wrapper
#[string]$apiUrl = "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/keyPhrases"
[string]$apiKey = "REDACTED"
$headers = @{ "Ocp-Apim-Subscription-Key" = $apiKey }
$analyticsResults = Invoke-RestMethod -Method Post -Uri $apiUrl -Headers $headers -Body $jsonBody -ContentType "application/json" -ErrorAction Stop
Write-Host $analyticsResults
Write-Host $jsonBody
は、共有のための感謝!マイクロソフトでは、特定の種類の印刷可能または印刷できない文字を禁止している可能性があります。おそらくアンチSQLインジェクションタイプの文字です。私たちの検証のためにありがとう! –