Рецепт ifttt Maker: необязательные параметры пусты?

Я использую следующий скрипт Python для запуска события «Maker» на «ifttt» следующим образом:

import requests
from main import get_ifttt

def trigger_event(  event, key, json_data={} ):
    ca_certs = "/etc/ssl/certs/ca-certificates.crt"  
    url="https://maker.ifttt.com/trigger/%s/with/key/%s"%(event, key)
    r=requests.post( url, data=json_data, verify=ca_certs )
    assert(r.status_code==200)

if __name__=='__main__':
    trigger_event( 'calendar', get_ifttt(), "{ 'Value1': 'something' }" )

Рецепт ifttt создает запись в календаре Google: используя следующий текст:

{{OccurredAt}} "{{EventName}}" occurred on the Maker Channel : Value1: "{{Value1}}"

Событие календаря создано правильно; но строка «Value1» пуста? Итак, запись выглядит так:

"calendar" occurred on the Maker Channel : Value1: ""

Это также происходит, если я также переключаюсь на событие «Уведомить»?

Я также пытался использовать командную строку curl с добавлением '?Value=xxx'; это тоже не работает.

Я пробовал использовать "Value1" и "value1": но тот же результат.

Что я здесь делаю неправильно?

(Код вызывает метод get_ifttt: он просто возвращает мой секретный ключ API).


person monojohnny    schedule 29.11.2015    source источник


Ответы (1)


Вы можете отправить строку «value1», указав Content-Type.

r=requests.post( url, data=json_data, verify=ca_certs, headers={'Content-Type': 'application/json'} )

Также вы должны использовать «value1» вместо «Value1».

trigger_event( 'calendar', get_ifttt(), "{ 'value1': 'something' }" )
person Junpei Tajima    schedule 15.12.2015