Несанкционированная ошибка при использовании GitLab Private Token для вызова конечной точки GitLab - PullRequest
1 голос
/ 14 июля 2020

Я пытаюсь подключиться к конечной точке GitLab API через HttpClient. Во-первых, я создаю токен частного доступа с помощью

https://gitlab.example.com/oauth/token

, затем с помощью этого токена доступа я пытаюсь достичь тегов или проектов с конечными точками ниже

https://gitlab.example.com/api/v4/projects/1/repository/tags/

https://gitlab.example.com/api/v4/projects/

Без использования токена доступа я могу достигает информации publi c, но при использовании токена выдает 401 Несанкционированная ошибка . Я даже пробовал приватный токен внутри url, он тоже дает ту же ошибку.

https://gitlab.example.com/api/v4/projects/1/repository/tags?private_token=xxxxxxxxxxxxxxxxxxxxxxx

Мой код ниже

private async Task<HttpResponseMessage> GetHttpResponse(string url)
{
    ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3
                                                | SecurityProtocolType.Tls
                                                | SecurityProtocolType.Tls11
                                                | SecurityProtocolType.Tls12;

    var request = new HttpRequestMessage(HttpMethod.Get, url);
    request.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(MediaTypeJson));
    request.Headers.Add("Private-Token", accessToken);

    return await Client.SendAsync(request).ConfigureAwait(false);
}

Я не знаю, что не так и как это исправить

Ответы [ 2 ]

0 голосов
/ 14 июля 2020

При таком использовании вы получите проекты групповых и подгрупповых проектов

curl --silent --header "Private-Token: YOUR_GITLAB_TOKEN" https://gitlab.example.com/api/v4/groups/<group_ID>/projects?include_subgroups=true

или если вам нужны только проекты из определенной c группы

curl --silent --header "Private-Token: YOUR_GITLAB_TOKEN" https://gitlab.example.com/api/v4/groups/<group_ID>/projects?per_page=100
0 голосов
/ 14 июля 2020

Вы также должны отправить заголовки oauth

curl --header "Authorization: Bearer <your_access_token>" https://gitlab.example.com/api/v4/projects

попробуйте

...