【问题标题】:How do we call GitLab API from c# application?我们如何从 c# 应用程序调用 GitLab API?
【发布时间】:2018-11-03 18:36:21
【问题描述】:

我们如何使用访问令牌调用 GitLab API 来获取项目中的所有提交。

我收到未经授权的错误。

string Url = "http://xxxxxx/DevOps/WebApp1.git/repository/commits";
using(var client = new WebClient()) //WebClient  
{
    client.BaseAddress = Url;
    //client.UseDefaultCredentials = true;
    client.Headers.Add("Content-Type:application/json"); //Content-Type  
    client.Headers.Add("Accept:application/json");
    client.Headers[HttpRequestHeader.Authorization] = "Bearer xxxxx";
    var commits_List = client.DownloadString(Url);
}

【问题讨论】:

  • 你用的是什么授权?
  • 我正在使用 GitLab 授权令牌。我已经为这个应用程序生成了一个令牌。我不确定调用 GitLab API 的正确过程是什么
  • 个人访问令牌不是同一个OAuth,阅读documentation

标签: c# api gitlab


【解决方案1】:

documentation 明确指出:

您可以使用个人访问令牌通过在private_token 参数或Private-Token 标头中传递API 进行身份验证。

你什么都没有做。

删除您的授权标头并将其替换为:

client.Headers["Private-Token"] = "xxxxx";

【讨论】:

  • 这不起作用。我有访问令牌。我不知道如何形成访问提交 API 的 URL。
【解决方案2】:

试试:

https://gitlab.com/api/v4/projects/{your_project_id}/repository/commits?private_token={your_private_token}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多