Есть ли способ получить доступ к каналам OData Azure DevOps с помощью токена личного доступа (PAT)?
Я пробовал использовать тот же код create-a-PAT-and-base64-encode-it-prepended-with-a-:-and-stuff-it-the-authorization-header-as-"Basic $encodedText" процесс, который работает для остальных API, но не работает для конечных точек odata (я пытаюсь использовать https://analytics.dev.azure.com/org/project/_odata/v3.0-preview /PipelineRuns).
Есть ли способ использовать PAT для доступа к конечным точкам OData?
Спасибо





Способ вызова запросов OData для Azure DevOps с помощью PAT в PowerShell аналогичен вызову REST API Azure DevOps.
Ниже приведен образец сценария PowerShell для справки.
$organization = "Organization Name"
$project = "Project Name"
$pipelineName = "Pipeline Name"
$uri = "https://analytics.dev.azure.com/${organization}/${project}/_odata/v3.0-preview/PipelineRuns?`$apply=filter(Pipeline/PipelineName eq '${pipelineName}')/aggregate(`$count as TotalCount, SucceededCount with sum as SucceededCount, FailedCount with sum as FailedCount, PartiallySucceededCount with sum as PartiallySucceededCount, CanceledCount with sum as CanceledCount)"
# Need to convert the PAT to be base64 token for use in the HTTP request headers.
$pat = "Personal Access Token"
$base64Token = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f "", $pat)))
$headers = @{Authorization = "Basic $base64Token"}
$response = Invoke-RestMethod -Method GET -Uri $uri -Headers $headers
# Convert the output as JSON content and print to console.
Write-Host ($response | ConvertTo-Json -Depth 10)
# Save the JSON content of output into a JSON file.
$response | ConvertTo-Json -Depth 10 | Out-File -FilePath odata-query-output.json
Спасибо. Оказывается, я неправильно закодировал свой $pat в base64 🤦