2014-11-16 15 views
6

Cố gắng gửi yêu cầu POST JSON tới API HTTP (PushBullet). Nhưng phải đối mặt với lỗi trong mã. Bất kỳ trợ giúp nào được đánh giá cao. Reference to the document to send push notificationCách đăng dữ liệu JSON qua API HTTP bằng VBScript?

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 

Trả lời

11

Đi ra ngoài ở đây vì bạn không cho rằng cần phải bao gồm thông báo lỗi thực tế. Bạn có nhiều khả năng nhận được lỗi "ký tự không hợp lệ" trong dòng 3. Đó là vì bạn cần xác định chuỗi JSON của mình dưới dạng chuỗi thực tế.

Thay đổi này:

strJSONToSend = {"type": "note", "title": "Alert", "body": "Lorem Ipsum Lorem Ipsum Lorem Ipsum."} 

vào đây:

strJSONToSend = "{""type"": ""note"", ""title"": ""Alert"", ""body"": ""Lorem Ipsum Lorem Ipsum Lorem Ipsum.""}" 

Edit: Là một phụ lưu ý, nếu bạn đang sử dụng On Error Resume Next trong mã của bạn luôn đặt xử lý lỗi thích hợp tại chỗ và cũng giữ cho nó được bản địa hóa càng tốt:

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 
+0

Cảm ơn rất nhiều! Iam xin lỗi iam rất mới với vbscript! –

Các vấn đề liên quan