Clockify API auth - PullRequest
       8

Clockify API auth

0 голосов
/ 24 августа 2018

Я пытаюсь выполнить ваши шаги при подключении к вашему API, но я действительно не уверен, как даже запустить аутентификацию ... Первая попытка состояла в установлении связи Javascript через AJAX, поэтому вот код для этого:

$.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 Ответ

0 голосов
/ 24 августа 2018
  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);
  }
});
...