如何使用VBScript通过HTTP API发布JSON数据? [英] How to POST JSON Data via HTTP API using VBScript?
问题描述
尝试将JSON POST请求发送到HTTP API(PushBullet).但是面临代码中的错误.任何帮助表示赞赏. 参考该文档以发送推送通知
Trying to Send JSON POST Request to an HTTP API(PushBullet). But facing error in the code. Any help appreciated. Reference to the document to send push notification
Dim objXmlHttpMain , URL
strJSONToSend = {"type": "note", "title": "Alert", "body": "Lorem Ipsum Lorem Ipsum Lorem Ipsum."}
URL="https://api.pushbullet.com/v2/pushes"
Set objXmlHttpMain = CreateObject("Msxml2.ServerXMLHTTP")
on error resume next
objXmlHttpMain.open "POST",URL, False
objXmlHttpMain.setRequestHeader "Authorization", "Bearer <api secret id>"
objXmlHttpMain.setRequestHeader "Content-Type", "application/json"
objXmlHttpMain.send strJSONToSend
set objJSONDoc = nothing
set objResult = nothing
推荐答案
在这里走一走,因为您认为没有必要包含实际的错误消息.您很可能在第3行中收到无效字符"错误.这是因为您需要将JSON字符串定义为实际字符串.
Going out on a limb here, since you didn't deem it necessary to include the actual error message. You're most likely getting an "invalid character" error in line 3. That's because you need to define your JSON string as an actual string.
更改此:
strJSONToSend = {"type": "note", "title": "Alert", "body": "Lorem Ipsum Lorem Ipsum Lorem Ipsum."}
对此:
strJSONToSend = "{""type"": ""note"", ""title"": ""Alert"", ""body"": ""Lorem Ipsum Lorem Ipsum Lorem Ipsum.""}"
编辑:作为补充,如果您在代码中始终使用On Error Resume Next
,请对其进行适当的错误处理,并将其保持在本地化状态尽可能的:
As a side-note, if you're using On Error Resume Next
in your code always put proper error handling in place, and also keep it as localized as possible:
On Error Resume Next 'enable error handling
objXmlHttpMain.open "POST",URL, False
If Err Then 'handle errors
WScript.Echo Err.Description & " [0x" & Hex(Err.Number) & "]"
WScript.Quit 1
End If
On Error Goto 0 'disable error handling again
这篇关于如何使用VBScript通过HTTP API发布JSON数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!