Расширение Azure DevOps управляет правами пользователей - PullRequest
0 голосов
/ 26 марта 2019

Я пытаюсь создать расширение для платформы Azure DevOps для управления правами пользователей. Но при использовании npm sdk «vss-web-extension-sdk» API-интерфейс пользователя недоступен (https://docs.microsoft.com/en-us/rest/api/azure/devops/memberentitlementmanagement/user%20entitlements?view=azure-devops-rest-5.0). И теперь я не уверен, как я могу управлять правами пользователя с помощью расширения.

Я уже пытался вызвать Api вручную с помощью извлечения Api из Javascript, но я получаю сообщение об ошибке Cross-Origin Read Blocking (CORB). Cross-Origin Read Blocking (CORB) blocked cross-origin response https://vsaex.dev.azure.com/*****/_apis/userentitlements?api-version=5.0-preview.2 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

Код, который не работает:

export function api<T>(url: string, options?: RequestInit): Promise<T> {
    return fetch(url, options)
        .then((response: Response) => {
            if (!response.ok) {
                throw new Error(response.statusText)
            }

            return response
                .json()
                .then(data => data as T);
        }
    );
}

----

const pat = base64Encode(`:${(document.getElementById("pat") as HTMLInputElement).value}`);

api<{ members: { accessLevel: { licenseDisplayName: string } }[] }>(
`https://vsaex.dev.azure.com/${VSS.getWebContext().account.name}/_apis/userentitlements?api-version=5.0-preview.2`, 
   { 
      method: 'GET', 
      headers: new Headers({ 
         'Authorization': `Basic ${pat}`
      }),
      mode: 'no-cors',
      credentials: 'include'
   }
).then(
   ({ members }) => {
      console.log(members);
   }
).catch(
   (err) => {
      console.error(err);
   }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...