Sample code for 30+ languages & platforms
PHP ActiveX

OneNote - Create Notebook

See more OneNote Examples

Creates a new notebook in Microsoft OneNote

Chilkat PHP ActiveX Downloads

PHP ActiveX
<?php

$success = 0;

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

$http = new COM("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"
// }

$json = new COM("Chilkat.JsonObject");
$json->UpdateString('displayName','Testing Notebook');

$http->SetRequestHeader('Content-type','application/json');
// Adds the "Authorization: Bearer ACCESS_TOKEN" header.
$http->AuthToken = 'ACCESS_TOKEN';

$resp = new COM("Chilkat.HttpResponse");
$success = $http->HttpJson('POST','https://graph.microsoft.com/v1.0/me/onenote/notebooks',$json,'application/json',$resp);
if ($success == 0) {
    print $http->LastErrorText . "\n";
    exit;
}

$sbResponseBody = new COM("Chilkat.StringBuilder");
$resp->GetBodySb($sbResponseBody);
$jResp = new COM("Chilkat.JsonObject");
$jResp->LoadSb($sbResponseBody);
$jResp->EmitCompact = 0;

print 'Response Body:' . "\n";
print $jResp->emit() . "\n";

$respStatusCode = $resp->StatusCode;
print 'Response Status Code = ' . $respStatusCode . "\n";
if ($respStatusCode >= 400) {
    print 'Response Header:' . "\n";
    print $resp->Header . "\n";
    print 'Failed.' . "\n";
    exit;
}

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

$odata_context = $jResp->stringOf('\'@odata.context\'');
$id = $jResp->stringOf('id');
$self = $jResp->stringOf('self');
$createdDateTime = $jResp->stringOf('createdDateTime');
$displayName = $jResp->stringOf('displayName');
$lastModifiedDateTime = $jResp->stringOf('lastModifiedDateTime');
$isDefault = $jResp->BoolOf('isDefault');
$userRole = $jResp->stringOf('userRole');
$isShared = $jResp->BoolOf('isShared');
$sectionsUrl = $jResp->stringOf('sectionsUrl');
$sectionGroupsUrl = $jResp->stringOf('sectionGroupsUrl');
$createdByUserId = $jResp->stringOf('createdBy.user.id');
$createdByUserDisplayName = $jResp->stringOf('createdBy.user.displayName');
$lastModifiedByUserId = $jResp->stringOf('lastModifiedBy.user.id');
$lastModifiedByUserDisplayName = $jResp->stringOf('lastModifiedBy.user.displayName');
$linksOneNoteClientUrlHref = $jResp->stringOf('links.oneNoteClientUrl.href');
$linksOneNoteWebUrlHref = $jResp->stringOf('links.oneNoteWebUrl.href');

?>