Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 重新安装不工作(Github API)_C#_.net_Rest_Github Api_Refit - Fatal编程技术网

C# 重新安装不工作(Github API)

C# 重新安装不工作(Github API),c#,.net,rest,github-api,refit,C#,.net,Rest,Github Api,Refit,我试图弄清楚如何使用Refit库来发出GET请求,但我不知道为什么它不起作用。我将遵循refit github页面上的示例。我错过了什么?GetUser(“octocat”)方法似乎不起作用。我试着搜索关于如何使用refit的其他示例,但找不到任何东西 private static async void getUser() { var gitHubApi = RestService.For<IGitHubApi>("https://api.githu

我试图弄清楚如何使用Refit库来发出GET请求,但我不知道为什么它不起作用。我将遵循refit github页面上的示例。我错过了什么?GetUser(“octocat”)方法似乎不起作用。我试着搜索关于如何使用refit的其他示例,但找不到任何东西

    private static async void getUser()
    {

        var gitHubApi = RestService.For<IGitHubApi>("https://api.github.com");


        var octocat = await gitHubApi.GetUser("octocat");
private静态异步void getUser()
{
var gitHubApi=RestService.For(“https://api.github.com");
var octocat=wait gitHubApi.GetUser(“octocat”);
}

公共类用户
{
[JsonProperty(“登录”)]
公共字符串登录{get;set;}
[JsonProperty(“id”)]
公共长Id{get;set;}
[JsonProperty(“化身url”)]
公共字符串AvatarUrl{get;set;}
[JsonProperty(“gravatar_id”)]
公共字符串GravatarId{get;set;}
[JsonProperty(“url”)]
公共字符串Url{get;set;}
[JsonProperty(“html_url”)]
公共字符串HtmlUrl{get;set;}
[JsonProperty(“追随者url”)]
公共字符串FollowersUrl{get;set;}
[JsonProperty(“以下url”)]
URL{get;set;}后的公共字符串
[JsonProperty(“gists_url”)]
公共字符串GistsUrl{get;set;}
[JsonProperty(“带星星的url”)]
公共字符串StarredUrl{get;set;}
[JsonProperty(“订阅url”)]
公共字符串订阅URL{get;set;}
[JsonProperty(“组织机构url”)]
公共字符串OrganizationsUrl{get;set;}
[JsonProperty(“回购url”)]
公共字符串ReposUrl{get;set;}
[JsonProperty(“事件url”)]
公共字符串EventsUrl{get;set;}
[JsonProperty(“已接收事件url”)]
公共字符串ReceivedEventsUrl{get;set;}
[JsonProperty(“类型”)]
公共字符串类型{get;set;}
[JsonProperty(“站点管理”)]
public bool SiteAdmin{get;set;}
[JsonProperty(“名称”)]
公共字符串名称{get;set;}
[JsonProperty(“公司”)]
公共字符串公司{get;set;}
[JsonProperty(“博客”)]
公共字符串Blog{get;set;}
[JsonProperty(“位置”)]
公共字符串位置{get;set;}
[JsonProperty(“电子邮件”)]
公共对象电子邮件{get;set;}
[JsonProperty(“可租用”)]
公共对象可租用{get;set;}
[JsonProperty(“bio”)]
公共对象Bio{get;set;}
[JsonProperty(“公共回购”)]
公共长PublicRepos{get;set;}
[JsonProperty(“公共注册”)]
公共长公钥{get;set;}
[JsonProperty(“追随者”)]
公共长跟随者{get;set;}
[JsonProperty(“以下”)]
公共长跟{get;set;}
[JsonProperty(“创建于”)]
public System.DateTimeOffset CreatedAt{get;set;}
[JsonProperty(“更新地址”)]
public System.DateTimeOffset UpdatedAt{get;set;}
}
接口IGitHubApi
{
[获取(“/users/{user}”)]
任务GetUser(字符串用户);
}

如果要查询GitHub API,需要设置用户代理

重新安装有两种方法:

1-设置合同标题

[标题(“用户代理:我最喜欢的用户代理!”)]
公共接口IGitHubApi
{
[获取(“/users/{user}”)]
任务GetUser(字符串用户);
}
2-使用HttpClient并将其设置在那里

var-httpClient=new-httpClient();
添加(“用户代理”,“我最喜欢的用户代理!”);
httpClient.BaseAddress=新Uri(“https://api.github.com");
var gitHubApi=RestService.For(httpClient);
var user=wait gitHubApi.GetUser(“octocat”);

如果您使用的是Github API,则需要在标头中设置UserAgent, 就是这样,

            {
                BaseAddress = new Uri("https://api.github.com"),
                DefaultRequestHeaders = {UserAgent = { ProductInfoHeaderValue.Parse("NakWarsi")}}    //here I have put my username("NakWarsi") what you need to replace with your username 
            };
            _restApiService = RestService.For<IGitHubApi>(_client);
{
BaseAddress=新Uri(“https://api.github.com"),
DefaultRequestHeaders={UserAgent={ProductInfoHeaderValue.Parse(“NakWarsi”)}}//这里我把我的用户名(“NakWarsi”)放在了你需要用用户名替换的地方
};
_restApiService=RestService.For(_client);

在这里,我使用Github创建了一个示例项目,您的端点不正确。应该是/users/:username,看,这似乎不起作用。我也遇到了同样的问题。我的坏消息是/users/。。。你得到了什么样的响应/异常?我没有得到响应/异常。代码成功运行,但每次我尝试在getUser方法后打印octocat.login时,控制台上都没有任何输出。如果您使用的是Github Api,则只需将UserAgent sed到HttpClient
[Headers("User-Agent: My Favorite User Agent!")]
public interface IGitHubApi
{
    [Get("/users/{user}")]
    Task<User> GetUser(string user);
}
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("User-Agent", "My Favorite User Agent!");
httpClient.BaseAddress = new Uri("https://api.github.com");
var gitHubApi = RestService.For<IGitHubApi>(httpClient);
var user = await gitHubApi.GetUser("octocat");
            {
                BaseAddress = new Uri("https://api.github.com"),
                DefaultRequestHeaders = {UserAgent = { ProductInfoHeaderValue.Parse("NakWarsi")}}    //here I have put my username("NakWarsi") what you need to replace with your username 
            };
            _restApiService = RestService.For<IGitHubApi>(_client);