2014-11-16 23 views
6

Bir HTTP API'sine (PushBullet) JSON POST İsteği Gönderilmeye Çalışıyor. Ancak kodda yüz hatası. Herhangi bir yardım takdir edildi. Eğer gerekli fiili hata mesajını da gördükleri vermedi beriVBScript kullanılarak HTTP API üzerinden JSON Verileri Nasıl POST Yapılır?

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 

cevap

11

Reference to the document to send push notification, burada bir dal üzerinde gidiyor. Büyük olasılıkla 3. satırda "geçersiz karakter" hatası alıyorsunuz. Bunun nedeni, JSON dizginizi gerçek bir dize olarak tanımlamanız gerektiğidir.

Değişim bu: bu işe

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

:

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

Düzenleme: Bir yan not olarak Kodunuzla hep koymak size On Error Resume Next kullanıyorsanız Uygun hata işleme yerinde ve mümkün olduğunca yerelleştirilmiş olarak tutun:

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

Çalıştığımız çok teşekkürler! Iam üzgünüm vbscript için çok yeni! –

İlgili konular