Unable to Include Message Body in Microsoft Graph Subscription Resource URL

Open
#1,630 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
25/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
typescript
Domain
api

Research direction

Start with the Microsoft Graph subscription resource URL documentation and compare its supported query parameters with the posted payload, especially $select=body and $select=bodyPreview. Check the linked Stack Overflow discussion for context. Done means documenting a supported way to receive the full body or clearly confirming the API limitation and expected alternative.

Written by the indexing model from the issue text.

Description

Description

I'm encountering an issue while attempting to create a subscription to receive change notifications, including resource data, in the Microsoft Graph API. Here's the payload I'm using:

{
    "changeType": "created",
    "notificationUrl": "<URL>",
    "resource": "me/mailFolders('Inbox')/messages?$select=body",
    "expirationDateTime": "2024-02-26T21:00:00.000Z",
    "latestSupportedTlsVersion": "v1_2",
    "includeResourceData": "true",
    "encryptionCertificate": "<SOME VALUE>",
    "encryptionCertificateId": "<SOME VALUE>"
}

However, upon sending a POST request with this payload, I'm encountering the following error message:

$top, $skip, $orderby, $select=body,uniqueBody and $expand other than singleValueExtendedProperties,multiValueExtendedProperties are not supported in subscription resource Url.

This error suggests that including $select=body in the resource URL is not permitted. If I exclude $select=body, I encounter a different error:

"select clause should be present in query string to support rich notifications"

This indicates that a select clause is required in the query string to support rich notifications.
Additionally, when I attempted to use $select=bodyPreview, I only received a truncated version of the body limited to 255 characters.

My objective is to receive change notifications including the entire body of the resource. I'm seeking guidance on how to achieve this.

I also created a post on StackOverFlow : https://stackoverflow.com/questions/78057126/select-body-not-working-while-creating-subscription-microsoft-graph-api

Dominant language
TypeScript
Stars
833
Forks
240
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoftgraph/msgraph-sdk-javascript

All issues in microsoftgraph/msgraph-sdk-javascript

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.