Sample code for 30+ languages & platforms
B4X

OneNote - Create Notebook

See more OneNote Examples

Creates a new notebook in Microsoft OneNote

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

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

Dim http As ChilkatHttp
http.Initialize("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 ChilkatJsonObject
json.Initialize
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 ChilkatHttpResponse
resp.Initialize
success = http.HttpJson("POST", "https://graph.microsoft.com/v1.0/me/onenote/notebooks", json, "application/json", resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim sbResponseBody As ChilkatStringBuilder
sbResponseBody.Initialize
resp.GetBodySb(sbResponseBody)
Dim jResp As ChilkatJsonObject
jResp.Initialize
jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(resp.Header)
    Log("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 = jResp.StringOf(Chr(34) & "@odata.context" & Chr(34))
Dim id As String = jResp.StringOf("id")
Dim self As String = jResp.StringOf("self")
Dim createdDateTime As String = jResp.StringOf("createdDateTime")
Dim displayName As String = jResp.StringOf("displayName")
Dim lastModifiedDateTime As String = jResp.StringOf("lastModifiedDateTime")
Dim isDefault As Boolean = jResp.BoolOf("isDefault")
Dim userRole As String = jResp.StringOf("userRole")
Dim isShared As Boolean = jResp.BoolOf("isShared")
Dim sectionsUrl As String = jResp.StringOf("sectionsUrl")
Dim sectionGroupsUrl As String = jResp.StringOf("sectionGroupsUrl")
Dim createdByUserId As String = jResp.StringOf("createdBy.user.id")
Dim createdByUserDisplayName As String = jResp.StringOf("createdBy.user.displayName")
Dim lastModifiedByUserId As String = jResp.StringOf("lastModifiedBy.user.id")
Dim lastModifiedByUserDisplayName As String = jResp.StringOf("lastModifiedBy.user.displayName")
Dim linksOneNoteClientUrlHref As String = jResp.StringOf("links.oneNoteClientUrl.href")
Dim linksOneNoteWebUrlHref As String = jResp.StringOf("links.oneNoteWebUrl.href")