Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用IFTTT Webhooks从Powershell传递值

使用IFTTT Webhooks从Powershell传递值
EN

Stack Overflow用户
提问于 2022-09-29 00:37:31
回答 1查看 52关注 0票数 0

我在IFTTT中创建了一个Web钩子,让我的服务器根据事件向我的Android手机发送通知。由于某种原因,这些值不会在web请求中传递。在Webhooks文档中可以看到:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
To trigger an Event with 3 JSON values

Make a POST or GET web request to:

https://maker.ifttt.com/trigger/{event}/with/key/{MyKey}

With an optional JSON body of:

{ "value1" : "", "value2" : "", "value3" : "" }

The data is completely optional, and you can also pass value1, value2, and value3 as query parameters or form variables. This content will be passed on to the action in your Applet. 

事件设置为显示Your test value is {{value1}}

然后,我尝试在Powershell中运行这个程序:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$WebhookURL = "https://maker.ifttt.com/trigger/{MyEvent}/json/with/key/{MyKey}

Invoke-RestMethod -Method Get -Uri $($WebhookURL+"?value1=TESTVALUE") -ContentType "application/json"

然而,这会向我的手机发送一个通知,上面写着,字面上说,Your test value is {{value1}}

因此,通知是正确触发的,只是"value1“的值没有正确传递。我还尝试将值传递为-Body,但结果是相同的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$Body = @{
    value1 = "TESTVALUE"
}

Invoke-RestMethod -Method Get -Uri $WebhookURL -Body $Body -ContentType "application/json"

$Body值传递给ConvertTo-Json -Compress会使请求在HTTP Error 403: Bad Request中失败,因此也不是这样。本质上,我正在做exactly like this other Stack post suggests,但它没有传递值。这里有什么问题吗?

更新:--我还按照Mathias的建议尝试了以下操作:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$Body = @{
    value1 = "TESTVALUE"
} | ConvertTo-Json -Compress

Invoke-RestMethod -Method Post -Uri $WebhookURL -Body $Body -ContentType "application/json"

但结果是一样的。我还尝试将带有空字符串的value2和value3添加到主体中,但结果是一样的。我尝试使用和不使用-Compress,但是结果是相同的,使用和不使用value1周围的引号不会改变任何事情:

UPDATE2:使用Curl的直接抛出一个错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
curl -X POST https://maker.ifttt.com/trigger/MyEvent/json/with/key/MyKey -H "Content-Type: application/json" -d '{"value1": TESTVALUE}'

{"errors":[{"message":"Unexpected token v in JSON at position 1"}]}

我还尝试使用Invoke-RestMethod运行Powershell -UseDefaultCredentials,但结果是一样的。

UPDATE3: IFTTT日志显示Value1的值没有传递,所以请求一定有问题:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-21 17:00:14

解决办法:不要使用Invoke-RestMethod,而是使用Curl:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$WebhookURL = "https://maker.ifttt.com/trigger/MyEventName/with/key/MyKey"
$Command = 'curl -X POST -H "Content-Type: application/json" -d "{""value1"":""' + $VariableWithMyValueHere + '"",""value2"":""Test2"",""value3"":""Test3""}" ' + $WebhookURL
cmd.exe /C $Command

我不知道为什么这个确切的Json适用于Curl,但不适用于Invoke-RestMethod,但由于它有效,我不打算进一步挖掘。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73892622

复制
相关文章
[Typecho插件] 新评论推送至 IFTTT Webhooks
进入 Typecho 插件目录usr/plugins/,创建名为Comment2IFTTT的文件夹,然后将 Plugin.php 文件下载到此文件夹内
子润先生
2021/06/09
4480
值传递与引用传递
“哥,说说 Java 到底是值传递还是引用传递吧?”三妹一脸的困惑,看得出来她被这个问题折磨得不轻。
沉默王二
2021/06/16
1.2K0
值传递与引用传递
值传递和引用传递
  java应用程序有且只有一种参数传递机制,即按值传递。   按值传递:当将一个参数传递给一个函数的时候,函数接收的是原始值的一个副本,因此,如果函数修改了该参数,仅仅修改的是参数的副本,而原始值保持不变。按引用传递一位置当一个参数传递给一个函数的时候,函数接收的是原始值的内存地址,而不是值的副本。因此,如果函数修改了该参数,调用代码中的原始值也随之改变。   1.对象是按照引用传递;   2.java中仅存在一种参数传递机制,即按值传递;   3.按值传递意味着当一个参数传递给一个函数的时候,函数接收
Mister24
2018/05/14
1.6K0
给Python初学者的最好练手项目,进来看就对了!
其实,做项目主要还是根据需求来的。但是对于一个初学者来说,很多复杂的项目没办法独立完成,因此博主挑选了一个非常适合初学者的项目,内容不是很复杂,但是非常有趣,我相信对于初学者小白来说是再好不过的项目了。
Python数据科学
2019/12/02
1.2K0
给Python初学者的最好练手项目
其实,做项目主要还是根据需求来的。但是对于一个初学者来说,很多复杂的项目没办法独立完成,因此博主挑选了一个非常适合初学者的项目,内容不是很复杂,但是非常有趣,我相信对于初学者小白来说是再好不过的项目了。
Python数据科学
2018/08/06
1.2K0
给Python初学者的最好练手项目
【Python入门基础教程】给Python初学者的最好练手项目
其实,做项目主要还是根据需求来的。但是对于一个初学者来说,很多复杂的项目没办法独立完成,因此博主挑选了一个非常适合初学者的项目,内容不是很复杂,但是非常有趣,我相信对于初学者小白来说是再好不过的项目了。
python大志
2021/12/16
8300
指针值传递、地址传递和引用传递
执行结果中并未输出字符串hello其实这里主函数调用fun函数,形参向实参传递参数的时候,发生的是拷贝。在fun函数中对局部指针变量p的任何修改都不会影响到主函数中的指针变量p。 下面简单的用函数栈帧空间图分析一下:
lexingsen
2022/02/24
1.7K0
指针值传递、地址传递和引用传递
按值传递还是引用传递?
改变u的指向不会影响user,但如果改变u指向实例的内容name,那么就会影响到user了
晚上没宵夜
2020/05/06
1.1K0
细说值传递、引用传递和地址传递
形式参数:是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数。
闫同学
2023/10/14
2390
Java 引用传递和值传递
这个问题的关键在于 a,b,x,y 的地址指向; y = x 与 b = a 是不等价的!! 发生改变的是 y 指向的值变成了和 x 指向的相同, 此时 y = AB(因为append方法改变的x原有的值) 而此时 b 的指向并没有发生改变。
星尘的一个朋友
2020/11/25
1.2K0
Java-值传递、地址传递
运行结果: TestParameterTransfer@15db9742 李太白 TestParameterTransfer@15db9742 李寻欢 TestParameterTransfer@15db9742 李寻欢
Fisherman渔夫
2019/07/30
1.3K0
java — 值传递和引用传递
  在 Java 应用程序中永远不会传递对象,而只传递对象引用。因此是按引用传递对象。Java 应用程序按引用传递对象这一事实并不意味着 Java 应用程序按引用传递参数。参数可以是对象引用,而 Java 应用程序是按值传递对象引用的。   Java 应用程序中的变量可以为以下两种类型之一:引用类型或基本类型。当作为参数传递给一个方法时,处理这两种类型的方式是相同的。两种类型都是按值传递的;没有一种按引用传递。  java实际上只有值传递,没有真正意义上的引用传递。 按值传递意味着当将一个参数传递给一
Mister24
2018/05/14
1.5K0
js引用传递和值传递
相反,情况是传入的项是按值传递的。但是通过值传递的项本身就是一个引用。从技术上讲,这叫做call_by_sharing。
IT工作者
2022/01/17
7.2K0
Java值传递与引用传递
Java面试题: 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?   答案基本上是:值传递 说明:得出这种结论的前提必须是
阳光岛主
2019/02/19
1.1K0
java——值传递和引用传递
我们可以看到valueCross方法执行后,实参age和weight的值并没有发生变化,这是什么原因?
说故事的五公子
2019/09/11
1.2K0
java——值传递和引用传递
使用webhooks自动部署项目
目前大部分git托管服务都提供了webhooks功能。 那么,什么是webhooks呢?
zhangheng
2020/04/28
1.3K0
Java 参数传递是值传递还是引用传递?
首先把结论表明,Java 的参数传递是值传递,因为有部分细节让人引起误解以为是引用传递,故我们写两个例子来举例探讨。
萬物並作吾以觀復
2019/05/10
2.8K0
java中的参数传递-值传递、引用传递
参数是按值而不是按引用传递的说明 Java 应用程序有且仅有的一种参数传递机制,即按值传递。
chenchenchen
2022/11/29
4.7K0
java中的参数传递-值传递、引用传递
Java 02 - 值传递与引用传递
首先我们要知道, 值传递和引用传递是一种求值策略(Evaluation Stragtegy), 表示的是调用函数的时候, 对于参数传递方式的描述, 而不是对参数本身类型的描述. 值类型和引用类型是两种内存分配方式, 值类型是在调用栈上分配, 而引用类型是在堆上分配. 一个是描述的内存分配方式, 一个是描述参数求值策略, 二者并无依赖和约束关系.
Reck Zhang
2021/08/11
7610
点击加载更多

相似问题

IFTTT :尝试使用Maker webhooks运行php脚本

06

IFTTT Webhooks不允许localhopst

15

Webhooks的Web请求(IFTTT任务)

12

raspberry pi如何通过IFTTT从webhooks接收触发事件?

25

智能生活+ IFTTT + Google助手通过Webhooks触发

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文