Sample code for 30+ languages & platforms
Xbase++

OneNote - Create Section

See more OneNote Examples

Creates a new notebook section in Microsoft OneNote

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oJson
LOCAL oResp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cOdata_context
LOCAL cId
LOCAL cSelf
LOCAL cCreatedDateTime
LOCAL cDisplayName
LOCAL cLastModifiedDateTime
LOCAL nIsDefault
LOCAL cPagesUrl
LOCAL cCreatedByUserId
LOCAL cCreatedByUserDisplayName
LOCAL cLastModifiedByUserId
LOCAL cLastModifiedByUserDisplayName

nSuccess := 0

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

oHttp := CreateObject("Chilkat.Http")

//  Implements the following CURL command:

//  curl -X POST https://graph.microsoft.com/v1.0/me/onenote/notebooks/{notebook_id}/sections \
//    -H 'authorization: Bearer ACCESS_TOKEN' 
//    -H "Content-type: application/json" \
//    -d '{
//    "displayName": "Section name"
//  }'

//  Use the following online tool to generate HTTP code from a CURL command
//  Convert a cURL Command to HTTP Source Code

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

//  The following JSON is sent in the request body.

//  {
//    "displayName": "Ddd"
//  }

//  Create a new section named "Ddd"
oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("displayName", "Ddd")

oHttp:SetRequestHeader("Content-type", "application/json")
//  Adds the "Authorization: Bearer ACCESS_TOKEN" header.
oHttp:AuthToken := "ACCESS_TOKEN"

oHttp:SetUrlVar("notebook_id", "0-3A33FCEB9B74CC15!20344")

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://graph.microsoft.com/v1.0/me/onenote/notebooks/{$notebook_id}/sections", oJson, "application/json", oResp)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    RETURN
ENDIF

oSbResponseBody := CreateObject("Chilkat.StringBuilder")
oResp:GetBodySb(oSbResponseBody)
oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0

? "Response Body:"
? oJResp:Emit()

nRespStatusCode := oResp:StatusCode
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
    ? "Response Header:"
    ? oResp:Header
    ? "Failed."
    oHttp:destroy()
    oJson:destroy()
    oResp:destroy()
    oSbResponseBody:destroy()
    oJResp:destroy()
    RETURN
ENDIF

//  Sample JSON response:
//  (Sample code for parsing the JSON response is shown below)

//  {
//    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin%40chilkat.io')/onenote/notebooks('0-3A33FCEB9B74CC15%2120344')/sections/$entity",
//    "id": "0-3A33FCEB9B74CC15!20350",
//    "self": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/sections/0-3A33FCEB9B74CC15!20350",
//    "createdDateTime": "2020-10-22T23:22:30.673Z",
//    "displayName": "Ddd",
//    "lastModifiedDateTime": "2020-10-22T23:22:30.803Z",
//    "isDefault": false,
//    "pagesUrl": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/sections/0-3A33FCEB9B74CC15!20350/pages",
//    "createdBy": {
//      "user": {
//        "id": "3A33FCEB9B74CC15",
//        "displayName": "Matt Smith"
//      }
//    },
//    "lastModifiedBy": {
//      "user": {
//        "id": "3A33FCEB9B74CC15",
//        "displayName": "Matt Smith"
//      }
//    }
//  }

//  Sample code for parsing the JSON response...
//  Use the following online tool to generate parsing code from sample JSON:
//  Generate Parsing Code from JSON

cOdata_context := oJResp:StringOf('"@odata.context"')
cId := oJResp:StringOf("id")
cSelf := oJResp:StringOf("self")
cCreatedDateTime := oJResp:StringOf("createdDateTime")
cDisplayName := oJResp:StringOf("displayName")
cLastModifiedDateTime := oJResp:StringOf("lastModifiedDateTime")
nIsDefault := oJResp:BoolOf("isDefault")
cPagesUrl := oJResp:StringOf("pagesUrl")
cCreatedByUserId := oJResp:StringOf("createdBy.user.id")
cCreatedByUserDisplayName := oJResp:StringOf("createdBy.user.displayName")
cLastModifiedByUserId := oJResp:StringOf("lastModifiedBy.user.id")
cLastModifiedByUserDisplayName := oJResp:StringOf("lastModifiedBy.user.displayName")

oHttp:destroy()
oJson:destroy()
oResp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()