我正在使用以下Python脚本在'ifttt'上触发'Maker'事件,如下所示:
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 Recipe创建了一个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密钥。)
答案 0 :(得分:4)
您可以通过指定Content-Type发送'value1'字符串。
r=requests.post( url, data=json_data, verify=ca_certs, headers={'Content-Type': 'application/json'} )
此外,您应该使用'value1'而不是'Value1'。
trigger_event( 'calendar', get_ifttt(), "{ 'value1': 'something' }" )