Sample code for 30+ languages & platforms
Xojo Plugin

OneNote - Create Notebook

See more OneNote Examples

Creates a new notebook in Microsoft OneNote

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

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

Dim http As New 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"
// }

Dim json As New Chilkat.JsonObject
success = json.UpdateString("displayName","Testing Notebook")

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

Dim resp As New Chilkat.HttpResponse
success = http.HttpJson("POST","https://graph.microsoft.com/v1.0/me/onenote/notebooks",json,"application/json",resp)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim sbResponseBody As New Chilkat.StringBuilder
success = resp.GetBodySb(sbResponseBody)
Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = resp.StatusCode
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(resp.Header)
    System.DebugLog("Failed.")
    Return
End If

// 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

Dim odata_context As String
odata_context = jResp.StringOf("""@odata.context""")
Dim id As String
id = jResp.StringOf("id")
Dim self As String
self = jResp.StringOf("self")
Dim createdDateTime As String
createdDateTime = jResp.StringOf("createdDateTime")
Dim displayName As String
displayName = jResp.StringOf("displayName")
Dim lastModifiedDateTime As String
lastModifiedDateTime = jResp.StringOf("lastModifiedDateTime")
Dim isDefault As Boolean
isDefault = jResp.BoolOf("isDefault")
Dim userRole As String
userRole = jResp.StringOf("userRole")
Dim isShared As Boolean
isShared = jResp.BoolOf("isShared")
Dim sectionsUrl As String
sectionsUrl = jResp.StringOf("sectionsUrl")
Dim sectionGroupsUrl As String
sectionGroupsUrl = jResp.StringOf("sectionGroupsUrl")
Dim createdByUserId As String
createdByUserId = jResp.StringOf("createdBy.user.id")
Dim createdByUserDisplayName As String
createdByUserDisplayName = jResp.StringOf("createdBy.user.displayName")
Dim lastModifiedByUserId As String
lastModifiedByUserId = jResp.StringOf("lastModifiedBy.user.id")
Dim lastModifiedByUserDisplayName As String
lastModifiedByUserDisplayName = jResp.StringOf("lastModifiedBy.user.displayName")
Dim linksOneNoteClientUrlHref As String
linksOneNoteClientUrlHref = jResp.StringOf("links.oneNoteClientUrl.href")
Dim linksOneNoteWebUrlHref As String
linksOneNoteWebUrlHref = jResp.StringOf("links.oneNoteWebUrl.href")