msgraph messages same ids - outlook

I'm using the Microsoft msgraph api to sync messages from my office365 mailbox to my application.
The problem I'm experiencing is that the ids of the messages are not unique. I have messages in my mailbox that are in the same folder and have the same exact id.
I verified the response of the requests I was sending in the graph explorer. I receive totally different messages with the same ids.
Could this be a bug in the msgraph api ? Or are message ids not unique ?
I'm talking to the following endpoint:
/me/mailFolders/[id_of_folder]/messages/delta
I'm using the php sdk provided by Microsoft but since the double ids are also visible in the graph explorer is doesn't seem to be a bug in the SDK.

The ids returned by Microsoft Graph, specifically, for Exchange Online Workload are case sensitive. Please compare with case sensitive comparators.

Related

Outlook Graph API not receiving groups

What I am trying to achieve -
When I call message API, it returns the group address to which mail is sent, I want to get the members of the group, And for that I believe I need group Id, so I am using the groups API mentioned below https://graph.microsoft.com/v1.0/groups
But this API returns an empty list to me.
Note: email I using is #outlook.com, not xyz.com.
The Microsoft graph API doesn't support personal accounts as you can see the below image. You should have a Work account to get the group details. You were able to get the messages because it supports personal accounts to read messages from your mailbox.

internetMessageHeaders now available using graph api endpoint for messages in the sent items folder

Originally posted by #jasonjoh in https://github.com/microsoftgraph/microsoft-graph-docs/issues/2716
Regarding answer given by https://github.com/microsoftgraph/microsoft-graph-docs/issues/2716#issuecomment-580751583
No, internet headers just do not exist on the copy in Sent Items.
For shared mailbox messages in the sent items folder, we recently noticed using the graph api endpoint "https://graph.microsoft.com/v1.0/me/mailFolders/sentitems/messages?$select=internetMessageHeaders" we can access the headers. This was not the case earlier, so can we get a confirmation that this new feature can be relied upon.

Microsoft Graph Security alert get internet message id

What I need:
Get access to the Internet Message Id for an email related incident via the Microsoft Graph Security API
My problem:
I used Outlook's reporting module and marked an email that was in my inbox as Phishing. This then created an event in https://security.microsoft.com. See the below image. Incident ID 16.
I put together a webhook that is able to pull alerts via the Microsoft Graph Security API. From this call I managed to retrieve the alert's ID. I then used that ID to get more information about the alert by using this call: (https://graph.microsoft.com/v1.0/security/alerts/{alert_id})
In the JSON body of the response there's a property called messageSecurityStates that is always empty. I found this link to Javadoc.io where the object's properties are described and it looks like this property should contain the Internet Message Id. But when querying the Microsoft Graph Security API, the object is always empty.
Question:
What do I need to do to ensure that my email related alerts that are queried via the MS Graph Security API have email related information such as Internet Message Id?

Outlook Graph email API: Threaded Email Conversations

I have an application that I have to integrate with the outlook via Graph API. I need to retrieve the conversations which I am getting using the Graph Mail API. But the graph API is not able to return the object of the email in the form of threads(like that of a conversation thread between two email ids). Also, there is no field in the object that can specify to which thread a particular email belongs so that I can group them in my app.
Is there any way I can achieve the same.
Honestly, I think there is some severe lack of documentation on this everyday use case.
The solution it seems is to filter your messages by the conversationId.
See this answer: https://stackoverflow.com/a/63570384/2591194.

Email thread detection in an Outlook add-in?

I'm designing an Outlook add-in and need to determine whether a selected message is part of a thread. Ideally, I'd also like to find related messages in said thread as well. Reading over the documentation, the conversationId property looks promising, though there doesn't seem to be a way to "get messages by conversationId."
Under the current version (1.4, non-preview) of the Outlook Add-in API, is it possible to detect that a message is part of a thread using the JavaScript API? Is it possible to then find other messages in the same thread?
ConversationId is part of the javascript API. This means that you can know the ConversationId for the Office.context.mailbox.item whose your add-in is focusing on. See documentation here
To my knowledge, there is no way to retrieve all mails for a given ConversationId using vanilla javascript and Office.js.
However, you may be interested in my answer here.
When something is not available with Office.js api for an Outlook
Add-in you can try to use the Exchange Web Services (EWS) or REST APIs to perform the action
You have basically two ways to request EWS from a mail add-in.
You can request directly the EWS with a SOAP request from your client
app. See method makeEwsRequestAsync in Office.context.mailbox(https://dev.outlook.com/reference/add-ins/Office.context.mailbox.html).
You can get an access token, send it to your server and make the request from
there.
For the specific case of retrieving conversations using the Outlook REST API, this answer may also be helpful.

Resources