Sample code for 30+ languages & platforms
Xbase++

OneNote - Create Notebook

See more OneNote Examples

Creates a new notebook 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 cUserRole
LOCAL nIsShared
LOCAL cSectionsUrl
LOCAL cSectionGroupsUrl
LOCAL cCreatedByUserId
LOCAL cCreatedByUserDisplayName
LOCAL cLastModifiedByUserId
LOCAL cLastModifiedByUserDisplayName
LOCAL cLinksOneNoteClientUrlHref
LOCAL cLinksOneNoteWebUrlHref

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 \
//    -H 'authorization: Bearer ACCESS_TOKEN' 
//    -H "Content-type: application/json" \
//    -d '{
//    "displayName": "Notebook 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": "Testing Notebook"
//  }

oJson := CreateObject("Chilkat.JsonObject")
oJson:UpdateString("displayName", "Testing Notebook")

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

oResp := CreateObject("Chilkat.HttpResponse")
nSuccess := oHttp:HttpJson("POST", "https://graph.microsoft.com/v1.0/me/onenote/notebooks", 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/$entity",
//    "id": "0-3A33FCEB9B74CC15!20344",
//    "self": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/notebooks/0-3A33FCEB9B74CC15!20344",
//    "createdDateTime": "2020-10-22T21:59:03.137Z",
//    "displayName": "Testing Notebook",
//    "lastModifiedDateTime": "2020-10-22T21:59:03.137Z",
//    "isDefault": false,
//    "userRole": "Owner",
//    "isShared": false,
//    "sectionsUrl": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/notebooks/0-3A33FCEB9B74CC15!20344/sections",
//    "sectionGroupsUrl": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/notebooks/0-3A33FCEB9B74CC15!20344/sectionGroups",
//    "createdBy": {
//      "user": {
//        "id": "4193973766868700757",
//        "displayName": "Joe Smith"
//      }
//    },
//    "lastModifiedBy": {
//      "user": {
//        "id": "4193973766868700757",
//        "displayName": "Joe Smith"
//      }
//    },
//    "links": {
//      "oneNoteClientUrl": {
//        "href": "onenote:https://d.docs.live.net/3a33fceb9b74cc15/Documents/Testing%20Notebook"
//      },
//      "oneNoteWebUrl": {
//        "href": "https://onedrive.live.com/redir.aspx?cid=3a33fceb9b74cc15&page=edit&resid=3A33FCEB9B74CC15!20344"
//      }
//    }
//  }

//  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")
cUserRole := oJResp:StringOf("userRole")
nIsShared := oJResp:BoolOf("isShared")
cSectionsUrl := oJResp:StringOf("sectionsUrl")
cSectionGroupsUrl := oJResp:StringOf("sectionGroupsUrl")
cCreatedByUserId := oJResp:StringOf("createdBy.user.id")
cCreatedByUserDisplayName := oJResp:StringOf("createdBy.user.displayName")
cLastModifiedByUserId := oJResp:StringOf("lastModifiedBy.user.id")
cLastModifiedByUserDisplayName := oJResp:StringOf("lastModifiedBy.user.displayName")
cLinksOneNoteClientUrlHref := oJResp:StringOf("links.oneNoteClientUrl.href")
cLinksOneNoteWebUrlHref := oJResp:StringOf("links.oneNoteWebUrl.href")

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