Доступ к API/конечным точкам OData Azure Devops с помощью PAT? (Я использую PowerShell)

Есть ли способ получить доступ к каналам 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?

Спасибо

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
66
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Способ вызова запросов 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 🤦

Colorado Techie 31.05.2024 17:40

Другие вопросы по теме

Похожие вопросы

Приложения Azure MSAL React используют одну и ту же аутентификацию/пользователя в нескольких приложениях
Как избежать бесконечного цикла перенаправления при объединении двух разных схем аутентификации (openIdConnect и ASP.NET Identity)?
Использование файла cookie laravel 11 для ручной аутентификации запроса
Оптимизация получения пользовательских данных в Next.js: лучшие практики и альтернативы
Ключ общего доступа к учетной записи хранения Azure, используемый в ChainedTokenCredential для аутентификации клиента в Python SDK?
Размещенная на Blazor веб-сборка с Keycloak и проблемой базовой аутентификации
Когда вызывается моя защита аутентификации, она на короткое время отображает страницу входа при перезагрузке страницы по маршруту с canActivate - Angular v17
ASP.NET Core 8 Blazor: OpenIdConnect сохраняет область действия пользователя в базе данных приложения
Моя пользовательская страница входа перенаправляется в цикле после обновления до Spring Security 6
Маршрут «[...nextauth]/route.ts» не соответствует требуемым типам маршрута Next.js. Неверная конфигурация «GET»: