如何使用访问令牌从c#中的网站获取项目列表?

时间:2017-07-05 18:52:52

标签: c# rest oauth-2.0

我正在尝试创建一个C#控制台应用程序,以便从支持REST OAuth 2.0的网站下载项目详细信息。如何使用访问令牌向网站发出请求/响应呼叫? 这是我的代码:

public string token = "4bjskfa2-b37d-6244-8413-3358b18c91b6";

public async Task GetProjectsAsync()
{
    try
    {
        HttpClient client = new HttpClient();
        var projects = "https://app.rakenapp.com/api/v2/projects?" + token;  

        client.CancelPendingRequests();
        HttpResponseMessage output = await client.GetAsync(projects);

        if (output.IsSuccessStatusCode)
        {
            string response = await output.Content.ReadAsStringAsync();
            project proj = JsonConvert.DeserializeObject<project>(response);

            if (proj != null)
            {
                Console.WriteLine(proj.name); // You will get the projects here.
            }
        }
    }
    catch (Exception ex)
    {
        //catching the exception
    }

}

1 个答案:

答案 0 :(得分:0)

您需要在请求中添加标题:

 string url = "https://app.rakenapp.com/api/v2/projects";
 using (var httpClient = new HttpClient())
       {
           httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", authorizationToken);
           HttpResponseMessage response = await httpClient.GetAsync(url);
           var contents = await response.Content.ReadAsStringAsync();
           var model = JsonConvert.DeserializeObject<project>.contents); 
           return model;
        }