Sample code for 30+ languages & platforms
Unicode C

OneNote - Get Page Metadata

See more OneNote Examples

Access a page's metadata by page identifier.

Chilkat Unicode C Downloads

Unicode C
#include <C_CkHttpW.h>
#include <C_CkStringBuilderW.h>
#include <C_CkJsonObjectW.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkHttpW http;
    HCkStringBuilderW sbResponseBody;
    HCkJsonObjectW jResp;
    int respStatusCode;
    const wchar_t *odata_context;
    const wchar_t *id;
    const wchar_t *self;
    const wchar_t *createdDateTime;
    const wchar_t *title;
    const wchar_t *createdByAppId;
    const wchar_t *contentUrl;
    const wchar_t *lastModifiedDateTime;
    const wchar_t *linksOneNoteClientUrlHref;
    const wchar_t *linksOneNoteWebUrlHref;
    const wchar_t *parentSectionodata_context;
    const wchar_t *parentSectionId;
    const wchar_t *parentSectionDisplayName;
    const wchar_t *parentSectionSelf;

    success = FALSE;

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

    http = CkHttpW_Create();

    // Implements the following CURL command:

    // curl -X GET https://graph.microsoft.com/v1.0/me/onenote/pages/{id} \
    //   -H 'authorization: Bearer ACCESS_TOKEN'

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

    // Adds the "Authorization: Bearer ACCESS_TOKEN" header.
    CkHttpW_putAuthToken(http,L"ACCESS_TOKEN");

    CkHttpW_SetUrlVar(http,L"page_id",L"0-d2298668edd74dccac7f821fa378bf64!41-3A33FCEB9B74CC15!20350");

    sbResponseBody = CkStringBuilderW_Create();
    success = CkHttpW_QuickGetSb(http,L"https://graph.microsoft.com/v1.0/me/onenote/pages/{$page_id}",sbResponseBody);
    if (success == FALSE) {
        wprintf(L"%s\n",CkHttpW_lastErrorText(http));
        CkHttpW_Dispose(http);
        CkStringBuilderW_Dispose(sbResponseBody);
        return;
    }

    jResp = CkJsonObjectW_Create();
    CkJsonObjectW_LoadSb(jResp,sbResponseBody);
    CkJsonObjectW_putEmitCompact(jResp,FALSE);

    wprintf(L"Response Body:\n");
    wprintf(L"%s\n",CkJsonObjectW_emit(jResp));

    respStatusCode = CkHttpW_getLastStatus(http);
    wprintf(L"Response Status Code = %d\n",respStatusCode);
    if (respStatusCode >= 400) {
        wprintf(L"Response Header:\n");
        wprintf(L"%s\n",CkHttpW_lastHeader(http));
        wprintf(L"Failed.\n");
        CkHttpW_Dispose(http);
        CkStringBuilderW_Dispose(sbResponseBody);
        CkJsonObjectW_Dispose(jResp);
        return;
    }

    // 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/pages/$entity",
    //   "id": "0-d2298668edd74dccac7f821fa378bf64!41-3A33FCEB9B74CC15!20350",
    //   "self": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/pages/0-d2298668edd74dccac7f821fa378bf64!41-3A33FCEB9B74CC15!20350",
    //   "createdDateTime": "2020-10-23T12:00:44Z",
    //   "title": "A page with rendered images and an attached file",
    //   "createdByAppId": "WLID-00000000441C9990",
    //   "contentUrl": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/pages/0-d2298668edd74dccac7f821fa378bf64!41-3A33FCEB9B74CC15!20350/content",
    //   "lastModifiedDateTime": "2020-10-23T17:00:45.9018633Z",
    //   "links": {
    //     "oneNoteClientUrl": {
    //       "href": "onenote:https://d.docs.live.net/3a33fceb9b74cc15/Documents/Testing%20Notebook/Ddd.one#A%20page%20with%20rendered%20images%20and%20an%20attached%20file&section-id=40f1bd0c-f32c-4f6a-8cc8-d0fc782f7064&page-id=2a8949ff-753a-45df-9a4c-f82743a7ebed&end"
    //     },
    //     "oneNoteWebUrl": {
    //       "href": "https://onedrive.live.com/redir.aspx?cid=3a33fceb9b74cc15&page=edit&resid=3A33FCEB9B74CC15!20344&parId=3A33FCEB9B74CC15!187&wd=target%28Ddd.one%7C40f1bd0c-f32c-4f6a-8cc8-d0fc782f7064%2FA%20page%20with%20rendered%20images%20and%20an%20attached%20file%7C2a8949ff-753a-45df-9a4c-f82743a7ebed%2F%29"
    //     }
    //   },
    //   "parentSection@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('admin%40chilkat.io')/onenote/pages('0-d2298668edd74dccac7f821fa378bf64%2141-3A33FCEB9B74CC15%2120350')/parentSection/$entity",
    //   "parentSection": {
    //     "id": "0-3A33FCEB9B74CC15!20350",
    //     "displayName": "Ddd",
    //     "self": "https://graph.microsoft.com/v1.0/users/admin@chilkat.io/onenote/sections/0-3A33FCEB9B74CC15!20350"
    //   }
    // }

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

    // Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
    // See this example explaining how this memory should be used: const char * functions.

    odata_context = CkJsonObjectW_stringOf(jResp,L"\"@odata.context\"");
    id = CkJsonObjectW_stringOf(jResp,L"id");
    self = CkJsonObjectW_stringOf(jResp,L"self");
    createdDateTime = CkJsonObjectW_stringOf(jResp,L"createdDateTime");
    title = CkJsonObjectW_stringOf(jResp,L"title");
    createdByAppId = CkJsonObjectW_stringOf(jResp,L"createdByAppId");
    contentUrl = CkJsonObjectW_stringOf(jResp,L"contentUrl");
    lastModifiedDateTime = CkJsonObjectW_stringOf(jResp,L"lastModifiedDateTime");
    linksOneNoteClientUrlHref = CkJsonObjectW_stringOf(jResp,L"links.oneNoteClientUrl.href");
    linksOneNoteWebUrlHref = CkJsonObjectW_stringOf(jResp,L"links.oneNoteWebUrl.href");
    parentSectionodata_context = CkJsonObjectW_stringOf(jResp,L"\"parentSection@odata.context\"");
    parentSectionId = CkJsonObjectW_stringOf(jResp,L"parentSection.id");
    parentSectionDisplayName = CkJsonObjectW_stringOf(jResp,L"parentSection.displayName");
    parentSectionSelf = CkJsonObjectW_stringOf(jResp,L"parentSection.self");


    CkHttpW_Dispose(http);
    CkStringBuilderW_Dispose(sbResponseBody);
    CkJsonObjectW_Dispose(jResp);

    }