Microsoft Graph API: recent items - How to get onenote displayName instead of filename

202 Views Asked by At

My goal is to display the 6 most recent items in the current users OneDrive.

Using https://graph.microsoft.com/v1.0/me/drive/recent?top=6 gives me the correct documents.

Some of these documents are OneNote Items.

At www.office.com the OneNote Items are displayed with the Notebook's displayname. In the API response only the filename is contained.

Testing this is Microsoft's example data here:

https://developer.microsoft.com/en-us/graph/graph-explorer

Example response

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(driveItem)",
    "@odata.nextLink": "https://graph.microsoft.com/v1.0/me/drive/recent?top=6&expand=section&$skiptoken=s!Njs3NGI0MzJjYS1mNmIzLTQ5YmQtOWIxMC02OTIyNjRlMTI3YTI",
    "value": [
        ...
        {
            "@odata.type": "#microsoft.graph.driveItem",
            "createdDateTime": "2017-08-07T16:08:45Z",
            "id": "01BYE5RZ2IKLBQXYXELFD23BMJIB545TH6",
            "lastModifiedDateTime": "2020-01-09T03:02:37Z",
            "name": "Fabrikam.one",
            "webUrl": "https://m365x214355-my.sharepoint.com/personal/meganb_m365x214355_onmicrosoft_com/_layouts/15/Doc.aspx?sourcedoc=%7B0BC35248-E4E2-4759-AD85-89407BCECCFE%7D&file=Fabrikam.one&action=edit&mobileredirect=true&wdorigin=Sharepoint&DefaultItemOpen=1",
            "size": 55782,
            "createdBy": {
                "user": {
                    "email": "[email protected]",
                    "displayName": "Megan Bowen"
                }
            },
            "lastModifiedBy": {
                "user": {
                    "email": "",
                    "displayName": "System Account"
                }
            },
            "file": {
                "mimeType": "application/msonenote"
            },
            "fileSystemInfo": {
                "createdDateTime": "2017-08-07T16:08:45Z",
                "lastModifiedDateTime": "2020-01-09T03:02:37Z"
            },
            "remoteItem": {
                "createdDateTime": "2017-08-07T16:08:45Z",
                "id": "01BYE5RZ2IKLBQXYXELFD23BMJIB545TH6",
                "lastModifiedDateTime": "2020-01-09T03:02:37Z",
                "name": "Fabrikam.one",
                "size": 55782,
                "webDavUrl": "https://m365x214355-my.sharepoint.com/personal/meganb_m365x214355_onmicrosoft_com/Documents/Fabrikam.one",
                "webUrl": "https://m365x214355-my.sharepoint.com/personal/meganb_m365x214355_onmicrosoft_com/_layouts/15/Doc.aspx?sourcedoc=%7B0BC35248-E4E2-4759-AD85-89407BCECCFE%7D&file=Fabrikam.one&action=edit&mobileredirect=true&wdorigin=Sharepoint&DefaultItemOpen=1",
                "createdBy": {
                    "user": {
                        "email": "[email protected]",
                        "displayName": "Megan Bowen"
                    }
                },
                "file": {
                    "mimeType": "application/msonenote"
                },
                "fileSystemInfo": {
                    "createdDateTime": "2017-08-07T16:08:45Z",
                    "lastModifiedDateTime": "2020-01-09T03:02:37Z"
                },
                "lastModifiedBy": {
                    "user": {
                        "email": "",
                        "displayName": "System Account"
                    }
                },
                "parentReference": {
                    "driveType": "business",
                    "driveId": "b!-RIj2DuyvEyV1T4NlOaMHk8XkS_I8MdFlUCq1BlcjgmhRfAj3-Z8RY2VpuvV_tpd",
                    "id": "01BYE5RZ56Y2GOVW7725BZO354PWSELRRZ"
                },
                "shared": {
                    "scope": "users"
                },
                "sharepointIds": {
                    "listId": "23f045a1-e6df-457c-8d95-a6ebd5feda5d",
                    "listItemId": "36",
                    "listItemUniqueId": "0bc35248-e4e2-4759-ad85-89407bceccfe",
                    "siteId": "d82312f9-b23b-4cbc-95d5-3e0d94e68c1e",
                    "siteUrl": "https://m365x214355-my.sharepoint.com/personal/meganb_m365x214355_onmicrosoft_com",
                    "webId": "2f91174f-f0c8-45c7-9540-aad4195c8e09"
                }
            }
        },
        ...
    ]
}

Is there a way to retrieve the OneNote notebook's name from here?

The API provides a way to retrieve all notebooks like so:

https://graph.microsoft.com/v1.0/me/onenote/notebooks

However I do not see a connection between these responses.

Maybe relevant how to find OneNote Notebook object from driveItem with MS Graph? - this shows a workaround. I am curious if there is a better solution.

0

There are 0 best solutions below