Как получить данные из CATSone API с токеном аутентификации? - PullRequest
0 голосов
/ 24 мая 2019

Я совершенно новичок в кодировании. Я пытаюсь построить панель инструментов в Klipfolio. Я использую CATSone API для извлечения данных из CATSone в Klipfolio. Тем не менее, я могу получить только 100 строк за раз, а это значит, что мне придется получать данные 2600 раз.

Я сейчас пытаюсь создать скрипт для получения данных из API через Google Script Editor. Однако, поскольку у меня нет опыта в этом, я просто пробую вещи. Я смотрел несколько видео, также от Бена Коллинза. Основа проста, и я понимаю, что он делает.

Однако у меня проблема с введением ключа API.

    var API_KEY = 'key'

    function callCATSone(){

//Call the CATSone API for all candidate list
var response = UrlFetchApp.fetch("https://api.catsone.nl/v3/candidates");
Logger.log(response.getContentText());                                 

// URL and params for the API
var url = 'https://api.catsone.nl/v3/candidates';

 var params = {
 'method': 'GET',
 'muteHttpExceptions': true,
'headers': {
'Authorization': 'key ' + apikey
}
};

// call the API
var response = UrlFetchApp.fetch(url, params);
var data = response.getContentText();
var json = JSON.parse(data);
}

В конце я хотел бы перенести все данные списка кандидатов на свои листы. Поэтому я вызываю API с ключом авторизации. После этого я буду манипулировать данными, но это на потом. Первая проблема, с которой я сейчас сталкиваюсь, это код ошибки:

'Verzoek voor https://api.catsone.nl/v3/candidates ошибочно. Foutcode: 401. Ingekorte serverreactie: {"message": "Недопустимые учетные данные."} (Gebruik de optie muteHttpExceptions om de volledige Reaction of te onderzoeken.) (Regel 6, кроме 'Code') '.

Я ожидаю получить список всех данных из CATSone на мои листы.

Кто-нибудь знает, как мне это сделать?

1 Ответ

0 голосов
/ 24 мая 2019

Два изменения должны исправить ошибку учетных данных:

Заголовок авторизации должен быть Authorization: 'Token ' + yourApiKey вместо 'key ', см. Документацию API v3 https://docs.catsone.com/api/v3/#authentication.

Ключ API в вашем случае хранится в глобальной переменной API_KEY, вы должны ссылаться на него в точности так, а не на apikey (если в вашем примере нет опечатки или какого-то недостающего кода): Authorization : 'Token ' + API_KEY .

Кстати, он, вероятно, должен установить либо заголовок Content-Type, либо параметр contentType для вызова метода UrlFetchApp.fetch() на application/json, так как UrlFetchApp.fetch() тип содержимого запроса по умолчанию равен application/x-www-form-urlencoded.

Если вы планируете продолжить работу с API, было бы полезно прочитать эту статью о MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...