URL-адрес и ключ проверки статуса IFTTT

Я пытаюсь внедрить IFTTT на своем веб-сайте. Я создал Сервис. Я создал API для проверки статуса и настройки теста с заданным типом, например

API-> abc.com/api/ifttt/v1/status & abc.com/api/ifttt/v1/test/setup

  1. Использование CI и маршрутизации для этой цели.
  2. В него добавлен следующий заголовок Host, COntent-type, IFTTT-Channel-Key, Accept-Encoding
  3. Ключ канала берется при создании апплета, насколько я помню. это в конце URL-адреса

Но в ответ я получаю следующую ошибку для проверки статуса при выполнении теста конечной точки - действительный запрос отображается зеленым цветом. - с недопустимым канальным ключом отображается красный цвет с кодом состояния 401

Пожалуйста, помогите мне. Спасибо,


person Purushottam zende    schedule 07.04.2017    source источник


Ответы (1)


Для проверки состояния / настройки конечной точки:

  • valid request проверяется, когда ваш код состояния возврата 200, когда в заголовках отправляется правильный IFTTT-Channel-Key
  • with invalid channel key проверяется, когда вы возвращаете код состояния 401, когда в заголовках отправляется неверный IFTTT-Channel-Key

Например, запрос с недопустимым ключом канала будет:

Запрос :

GET https://example.com/api/ifttt/v1/status HTTP/1.1
Accept: application/json
Accept-Charset: utf-8
Accept-Encoding: gzip, deflate
User-Agent: IFTTT-Protocol/v1
IFTTT-Test-Mode: 1
IFTTT-Channel-Key: INVALID

Ответ:

HTTP/1.1 401 Unauthorized
date: Fri, 07 Apr 2017 23:04:28 GMT
server: Apache/2.4.10 (Debian)
content-type: application/json
vary: Accept-Encoding
content-length: 0
connection: close

Вы должны проверить это значение заголовка IFTTT-Channel-Key и отправить код состояния 200, если он правильный, и 401, если он неправильный.

IFTTT-Channel-Key - это ключ API службы, который вы можете найти на вкладке _9 _ / _ 10_:

введите здесь описание изображения

Ключ API службы уникален для каждого канала

person Bertrand Martel    schedule 07.04.2017
comment
Я также попытался поставить служебный ключ, но он не работает, я получаю тот же код ответа. - person Purushottam zende; 09.04.2017
comment
Вы проверяли заголовок ключа ifttt и возвращали 401, если он не соответствует служебному ключу? - person Bertrand Martel; 09.04.2017
comment
Я немного запуталась. Я сделал файл статуса. Я помещаю флаги заголовка, включая служебный ключ ifttt. И затем я проверяю IFTTT для тестирования конечных точек. Я пока не использую какой-либо тип аутентификации. Нужно ли мне также проверять какой-либо ключ от IFTTT на статус? Пожалуйста, направляйте. - person Purushottam zende; 10.04.2017
comment
Для конечной точки / status & / setup при обработке запроса выполните следующие действия: проверьте наличие заголовка IFTTT-Channel-Key, убедитесь, что IFTTT-Channel-Key равен ключу API вашей службы (если не вернет 401 unauthorized), верните данные в соответствии с API (статус или конечная точка). Речь идет не об аутентификации, а о возврате кода состояния 401, когда запрос, который вы обрабатываете из IFTTT, не имеет правильного значения для заголовка IFTTT-Channel-Key - person Bertrand Martel; 10.04.2017
comment
получил ошибку, IFTTT отправлял 2 запроса, один действительный, а другой недопустимый, которые я не проверял. Теперь он работает правильно для статуса, теста / статуса и информации о пользователе. Но снова попали в триггеры. Он отправляет 7 запросов и не может определить разницу между каждым из них, кроме ключа авторизации. - person Purushottam zende; 10.04.2017