Clockify API 授权

Clockify API auth

我正尝试按照您的步骤连接到您的 API,但我真的不确定如何启动身份验证... 第一次尝试是通过 AJAX 进行 Javascript 通信,所以这里是它的代码:

$.ajax({
    url: 'https://api.clockify.me/api/auth/token/',
    method: 'POST',
    cache: false,
    contentType: 'application/json',
    headers: {
        'X-Api-Key': 'MyAPIKey'
    },
    data: { "email": "MyMail", "password": "MyPass" },
    always: function(r){
        console.log(r);
    }
});

不断响应我得到这样的错误:

{"message":"Could not read document: Unrecognized token 'email': was expecting ('true', 'false' or 'null')\n at [Source: java.io.PushbackInputStream@5cfd6511; line: 1, column: 7]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'email': was expecting ('true', 'false' or 'null')\n at [Source: java.io.PushbackInputStream@5cfd6511; line: 1, column: 7]","code":3002}

接下来,我尝试继续并从 PHP 开始通信并使用 CURL 进行身份验证和所有操作,但我一直遇到同样的错误/问题。

有什么我遗漏的吗?

  1. 您不需要使用X-Api-Key获取身份验证令牌。
  2. 似乎 JQuery 希望数据在发送前被序列化,所以只需使用 JSON.stringify 就像在这个例子中:
$.ajax({
  url: 'https://api.clockify.me/api/auth/token/',
  method: 'POST',
  contentType: "application/json",
  data: JSON.stringify({
    email: "someone@example.com",
    password: "secretpass"
  }),
  always: function(r) {
    console.log(r);
  }
});