Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "kind": "calendar#event",
- "start": {
- "dateTime": 04/10/2012 08:00 AM
- },
- "end": {
- "dateTime": 04/10/2012 08:00 AM
- },
- "attendees": [
- {
- "email": "myemailaddress@gmail.com",
- "displayName": "My Name",
- "organizer": True,
- "self": True
- }
- ],
- "reminders": {
- "useDefault": True
- }
- }
- 'Code to create JSON using Dictionary Objects and Collection Objects
- Dim d As New Scripting.Dictionary
- Dim c As New Collection
- d.Add "kind", "calendar#event"
- d.Add "summary", "Event Title/Summary"
- Dim d2(4) As New Scripting.Dictionary
- d2(0).Add "dateTime", "2012-04-14T16:00:00.000-04:00"
- d.Add "start", d2(0)
- d2(1).Add "dateTime", "2012-04-14T18:00:00.000-04:00"
- d.Add "end", d2(1)
- 'First Attendee
- d2(2).Add "email", "john.doe@gmail.com"
- d2(2).Add "displayName", "John Doe"
- d2(2).Add "organizer", True
- d2(2).Add "self", True
- 'Add attendee to collection
- c.Add d2(2)
- 'Second attendee
- d2(3).Add "email", "suzy.doe@gmail.com"
- d2(3).Add "displayName", "Suzy Doe"
- 'Add attendee to collection
- c.Add d2(3)
- 'Add collection to original/primary dictionary object
- d.Add "attendees", c
- 'Add more nested pairs to original/primary dictionary object
- d2(4).Add "useDefault", True
- d.Add "reminders", d2(4)
- 'Now output the JSON/results
- 'This requires the VBJSON module (named just JSON, a module, not a class module)
- Debug.Print JSON.JSONToString(d)
- {"kind":"calendar#event","summary":"Event Title/Summary","start":{"dateTime":"2012-04-14T16:00:00.000-04:00"},"end":{"dateTime":"2012-04-14T18:00:00.000-04:00"},"attendees":[{"email":"john.doe@gmail.com","displayName":"John Doe","organizer":true,"self":true},{"email":"suzy.doe@gmail.com","displayName":"Suzy Doe"}],"reminders":{"useDefault":true}}
- Dim objXMLHTTP As MSXML2.ServerXMLHTTP
- Set objXMLHTTP = New MSXML2.ServerXMLHTTP
- Dim sPostData As String
- sPostData = JSON.JSONToString(d)
- Dim sURL As String
- sURL = "https://www.googleapis.com/calendar/v3/calendars/{mycalendarid}/events?sendNotifications=false&fields=etag%2ChtmlLink%2Cid&pp=1&access_token={my oauth2.0 access token}"
- With objXMLHTTP
- .Open "POST", sURL, False
- .setRequestHeader "Content-Type", "application/json"
- .Send (sPostData)
- End With
- Debug.Print objXMLHTTP.ResponseText
- Set objXMLHTTP = Nothing
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement