我一直在使用foxdeploy的一些很好的例子来尝试为一系列针对不同场景的invoke-webrequest创建一个gui。输入总是需要由用户生成并针对云提供者启动以创建对象
https://foxdeploy.com/2015/04/16/part-ii-deploying-powershell-guis-in-minutes-using-visual-studio/
问题是无论我做什么,我似乎无法通过imput和按钮点击进入invoke-webrequest。命令似乎总是失败。我正在尝试以下内容:
$WPFCreate_User.Add_Click({
$Form.Add_Loaded({$WPFName_Entry.Text = $NewUser})
Invoke-WebRequest -Headers @{"X-RRR-Key"="XXXXXXXXXXXXXXXXX"} -Method Put -body '{"USER":'"$NewUser"'}' https://api.blue.net/v1/Users/$NewUser
})
我已经在这里待了2天,并尝试了很多方法来抓住输入并插入Put Body领域并且无法弄明白。单独运行invoke-webrequest很好,没有任何问题。从脚本运行也是有效的。
答案 0 :(得分:0)
我看到的直接问题,如果您的字符串存在一些与身体有关的基本问题:
'{"USER":'"$NewUser"'}'
首先,你的字符串中有未转义的单引号,并且你试图在单引号内执行字符串扩展(这不起作用);或者您正在尝试在没有连接器的情况下执行字符串连接。您可以尝试的是:
$WPFCreate_User.Add_Click({
$Form.Add_Loaded({$WPFName_Entry.Text = $NewUser})
$body = '{"User":"{1}"}' -f $NewUser
Invoke-WebRequest -Headers @{"X-RRR-Key"="XXXXXXXXXXXXXXXXX"} -Method Put -body $body https://api.blue.net/v1/Users/$NewUser
})
看看这对你有效。