我们如何从c#应用程序调用GitLab API?

时间:2018-05-24 13:43:29

标签: c# api gitlab

我们如何使用访问令牌调用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);
}

2 个答案:

答案 0 :(得分:1)

documentation明确指出:

  

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

你们两个都没做。

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

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

答案 1 :(得分:0)

尝试:

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