首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Clockify API进行身份验证?

使用Clockify API进行身份验证?
EN

Stack Overflow用户
提问于 2019-04-12 05:30:07
回答 1查看 671关注 0票数 1

我正在开发一个新的应用程序,我需要使用Clockify的API。当我制作我的概念验证测试应用程序时,我注意到在使用他们的一个基本函数get clients by work space时,我收到了一个401错误。我是不是在身份验证中遗漏了什么?是否需要在我的个人资料中允许设置?我得到的错误是: System.Net.WebException:‘远程服务器返回错误:(401)未经授权。’谢谢。

代码语言:javascript
复制
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();

        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2019-04-12 05:50:34

您在ApiClient上设置了api key头部,但随后使用一个新创建的HttpWebRequest发出请求,该api随后没有所需的api key头部。

您应该使用ApiClient发出请求,或者将X-Api-Key标头添加到HttpWebRequest中,如下所示:

代码语言:javascript
复制
httpWebRequest.Headers.Add(“X-Api-Key”, “********”)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55641452

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档