我正在开发一个新的应用程序,我需要使用Clockify的API。当我制作我的概念验证测试应用程序时,我注意到在使用他们的一个基本函数get clients by work space时,我收到了一个401错误。我是不是在身份验证中遗漏了什么?是否需要在我的个人资料中允许设置?我得到的错误是: System.Net.WebException:‘远程服务器返回错误:(401)未经授权。’谢谢。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
namespace Api
{
public class ApiHelper
{
public static HttpClient ApiClient { get; set; } = new HttpClient();
public static void InitializeClient(string username, string password)
{
ApiClient = new HttpClient();
ApiClient.BaseAddress = new Uri("https://api.clockify.me/api/");
ApiClient.DefaultRequestHeaders.Accept.Clear();
ApiClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
}
public static void GetClientsFromWorkspace(string workspace)
{
ApiClient.DefaultRequestHeaders.Add("X-Api-Key", "*********");
var httpWebRequest = (HttpWebRequest)WebRequest.Create("https://api.clockify.me/api/workspaces/" + workspace + "/clients");
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "GET";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
}
}
}发布于 2019-04-12 05:50:34
您在ApiClient上设置了api key头部,但随后使用一个新创建的HttpWebRequest发出请求,该api随后没有所需的api key头部。
您应该使用ApiClient发出请求,或者将X-Api-Key标头添加到HttpWebRequest中,如下所示:
httpWebRequest.Headers.Add(“X-Api-Key”, “********”)https://stackoverflow.com/questions/55641452
复制相似问题