Chilkat Online Tools

TCL / Microsoft Graph / Add Microsoft Graph community call event

Back to Collection Items

load ./chilkat.dll

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

set http [new_CkHttp]

# Use this online tool to generate code from sample JSON: Generate Code to Create JSON

# The following JSON is sent in the request body.

# {
#   "subject": "Microsoft Graph community call",
#   "body": {
#     "contentType": "HTML",
#     "content": "Call link: https://aka.ms/mmkv1b Submit a question: https://aka.ms/ybuw2i"
#   },
#   "start": {
#     "dateTime": "2018-09-04T08:00:00",
#     "timeZone": "Pacific Standard Time"
#   },
#   "end": {
#     "dateTime": "2018-09-04T09:00:00",
#     "timeZone": "Pacific Standard Time"
#   },
#   "location": {
#     "displayName": "Skype for Business"
#   },
#   "recurrence": {
#     "pattern": {
#       "type": "relativeMonthly",
#       "interval": 1,
#       "daysOfWeek": [
#         "Tuesday"
#       ],
#       "index": "first"
#     },
#     "range": {
#       "type": "noEnd",
#       "startDate": "2017-08-29"
#     }
#   }
# }

set json [new_CkJsonObject]

CkJsonObject_UpdateString $json "subject" "Microsoft Graph community call"
CkJsonObject_UpdateString $json "body.contentType" "HTML"
CkJsonObject_UpdateString $json "body.content" "Call link: https://aka.ms/mmkv1b Submit a question: https://aka.ms/ybuw2i"
CkJsonObject_UpdateString $json "start.dateTime" "2018-09-04T08:00:00"
CkJsonObject_UpdateString $json "start.timeZone" "Pacific Standard Time"
CkJsonObject_UpdateString $json "end.dateTime" "2018-09-04T09:00:00"
CkJsonObject_UpdateString $json "end.timeZone" "Pacific Standard Time"
CkJsonObject_UpdateString $json "location.displayName" "Skype for Business"
CkJsonObject_UpdateString $json "recurrence.pattern.type" "relativeMonthly"
CkJsonObject_UpdateInt $json "recurrence.pattern.interval" 1
CkJsonObject_UpdateString $json "recurrence.pattern.daysOfWeek[0]" "Tuesday"
CkJsonObject_UpdateString $json "recurrence.pattern.index" "first"
CkJsonObject_UpdateString $json "recurrence.range.type" "noEnd"
CkJsonObject_UpdateString $json "recurrence.range.startDate" "2017-08-29"

# Adds the "Authorization: Bearer <access_token>" header.
CkHttp_put_AuthToken $http "<access_token>"
CkHttp_SetRequestHeader $http "Content-Type" "application/json"

# resp is a CkHttpResponse
set resp [CkHttp_PostJson3 $http "https://graph.microsoft.com/v1.0/me/events" "application/json" $json]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkJsonObject $json
    exit
}

puts [CkHttpResponse_get_StatusCode $resp]
puts [CkHttpResponse_bodyStr $resp]
delete_CkHttpResponse $resp


delete_CkHttp $http
delete_CkJsonObject $json

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
  "subject": "Microsoft Graph community call",
  "body": {
    "contentType": "HTML",
    "content": "Call link: https://aka.ms/mmkv1b Submit a question: https://aka.ms/ybuw2i"
  },
  "start": {
    "dateTime": "2018-09-04T08:00:00",
    "timeZone": "Pacific Standard Time"
  },
  "end": {
    "dateTime": "2018-09-04T09:00:00",
    "timeZone": "Pacific Standard Time"
  },
  "location": {
    "displayName": "Skype for Business"
  },
  "recurrence": {
    "pattern": {
      "type": "relativeMonthly",
      "interval": 1,
      "daysOfWeek": [
        "Tuesday"
      ],
      "index": "first"
    },
    "range": {
      "type": "noEnd",
      "startDate": "2017-08-29"
    }
  }
}'
https://graph.microsoft.com/v1.0/me/events

Postman Collection Item JSON

{
  "name": "Add Microsoft Graph community call event",
  "event": [
    {
      "listen": "test",
      "script": {
        "exec": [
          "try {\r",
          "    if (responseBody.indexOf(\"InvalidAuthenticationToken\") !== -1)\r",
          "    {\r",
          "        console.log(\"You need to run *On behalf of a User | Get User Access Token* request first.\");\r",
          "    }\r",
          "    else\r",
          "    {\r",
          "        if (pm.response.status === \"Forbidden\")\r",
          "        {\r",
          "            console.log(\"You need to add user delegated permissions in your application to at least *Calendar.ReadWrite* in portal.azure.com and then consent as user or Grant admin consent in portal. And re-run *On behalf of a User | Get User Access Token* request to update access token. \");\r",
          "        }\r",
          "        else\r",
          "        {\r",
          "            var json = JSON.parse(responseBody);\r",
          "            postman.setEnvironmentVariable(\"MessageId\", json.value[0].id);\r",
          "        }\r",
          "    }\r",
          "}\r",
          "catch (e) {\r",
          "    console.log(e);\r",
          "}\r",
          ""
        ],
        "type": "text/javascript"
      }
    }
  ],
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "type": "text",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n  \"subject\": \"Microsoft Graph community call\",\n  \"body\": {\n    \"contentType\": \"HTML\",\n    \"content\": \"Call link: https://aka.ms/mmkv1b Submit a question: https://aka.ms/ybuw2i\"\n  },\n  \"start\": {\n    \"dateTime\": \"2018-09-04T08:00:00\",\n    \"timeZone\": \"Pacific Standard Time\"\n  },\n  \"end\": {\n    \"dateTime\": \"2018-09-04T09:00:00\",\n    \"timeZone\": \"Pacific Standard Time\"\n  },\n  \"location\": {\n    \"displayName\": \"Skype for Business\"\n  },\n  \"recurrence\": {\n    \"pattern\": {\n      \"type\": \"relativeMonthly\",\n      \"interval\": 1,\n      \"daysOfWeek\": [\n        \"Tuesday\"\n      ],\n      \"index\": \"first\"\n    },\n    \"range\": {\n      \"type\": \"noEnd\",\n      \"startDate\": \"2017-08-29\"\n    }\n  }\n}"
    },
    "url": {
      "raw": "https://graph.microsoft.com/v1.0/me/events",
      "protocol": "https",
      "host": [
        "graph",
        "microsoft",
        "com"
      ],
      "path": [
        "v1.0",
        "me",
        "events"
      ]
    }
  },
  "response": [
  ]
}