C# 在github中使用RestRequest进行github身份验证

C# 在github中使用RestRequest进行github身份验证,c#,.net,github-api,C#,.net,Github Api,我在向github请求时收到错误 “管理规则禁止请求。请确保您的请求具有用户代理标头()。检查其他可能的原因” 这是我的代码: var client = new RestClient { BaseUrl = "https://api.github.com", Authenticator = new HttpBasicAuthenticator(_username, _password)

我在向github请求时收到错误

“管理规则禁止请求。请确保您的请求具有用户代理标头()。检查其他可能的原因”

这是我的代码:

var client = new RestClient
            {
                BaseUrl = "https://api.github.com",
                Authenticator = new HttpBasicAuthenticator(_username, _password)
            };
            //client.AddDefaultHeader("User-Agent", "http://developer.github.com/v3/"+_username);

            _restRequest = new RestRequest(Method.POST)
            {
                Resource = _resource,
                RequestFormat = DataFormat.Json
            };
           // _restRequest.AddHeader("User-Agent",);
            _restRequest.AddBody(new { title = form["feedbackmessage"], body = html, labels = new List<string> { _defaultlabel } });
            _restRequest.AddHeader("User-Agent", "http://developer.github.com/v3/#" + _username);
            var response = client.Execute(_restRequest);
var-client=new-RestClient
{
BaseUrl=”https://api.github.com",
Authenticator=新的HttpBasicAuthenticator(\u用户名,\u密码)
};
//client.AddDefaultHeader(“用户代理”http://developer.github.com/v3/“+_用户名);
_restRequest=新的restRequest(Method.POST)
{
资源=\u资源,
RequestFormat=DataFormat.Json
};
//_restRequest.AddHeader(“用户代理”);
_AddBody(新的{title=form[“feedbackmessage”],body=html,labels=newlist{u defaultlabel});
_restRequest.AddHeader(“用户代理”http://developer.github.com/v3/#“+_用户名);
var response=client.Execute(_restRequest);

我今天也遇到了类似的问题。据我从GitHub文档中了解,它不必像您的示例中那样采用URL样式。只要有
\u用户名
作为
用户代理
值就足够了

对于我来说,
\u restRequest.AddHeader(“用户代理”…
也不起作用,只是在添加了以下内容后才开始工作:

client.UserAgent = _username;

根据,所有API请求必须包含有效的用户代理标头

我所做的是将此用户代理添加到我的HttpClient,如下所示:

_httpClient.DefaultRequestHeaders.Add("User-Agent", "Other"); 
我做了一个正常的请求,例如:

var json = await HttpClient.GetStringAsync(url);
而且效果很好

另一个很好的参考,你可以查一下

var json = await HttpClient.GetStringAsync(url);