Microsoft Graph API mail office 365:是否有任何选项创建收件箱消息不是草稿?
Microsoft Graph API mail office 365: Is any option create inbox message NOT as Draft?
我正在使用 office 365 邮件 Microsoft Graph API,尝试按照文档创建新邮件:
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_post_messages
POST https://graph.microsoft.com/beta/me/messages
Content-type: application/json
{
"subject":"Did you see last night's game?",
"importance":"Low",
"body":{
"contentType":"HTML",
"content":"They were <b>awesome</b>!"
},
"toRecipients":[
{
"emailAddress":{
"address":"AdeleV@contoso.onmicrosoft.com"
}
}
]
}
{
输出:
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('ad787b4f-1fda-4523-8e48-ffedb7f4635f')/messages/$entity",
"@odata.etag":"W/\"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t\"",
"id":"AAMkAGRWAAAFSmKXAAA=",
"createdDateTime":"2017-12-23T07:29:57Z",
"lastModifiedDateTime":"2017-12-23T07:29:58Z",
"changeKey":"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t",
"categories":[
],
"receivedDateTime":"2017-12-23T07:29:58Z",
"sentDateTime":"2017-12-23T07:29:58Z",
"hasAttachments":false,
"internetMessageId":"<MWHPR130@MWHPR130.namprd13.prod.outlook.com>",
"subject":"Did you see last night's game?",
"bodyPreview":"They were awesome!",
"importance":"low",
"parentFolderId":"AAMkAGRWAAAAAAEPAAA=",
"conversationId":"AAQkAGRVYAsRJrRdc_mWNaxU=",
"conversationIndex":"AQHTe7/VAniOJVgCxEmtF1z6ZY1rFQ==",
"isDeliveryReceiptRequested":false,
"isReadReceiptRequested":false,
"isRead":true,
"isDraft":true,
"webLink":"https://outlook.office365.com/owa/?ItemID=AAMkAGRWAAAFSmKXAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification":"focused",
"unsubscribeData":[
],
我看到的输出是由收件箱创建的草稿消息。
我尝试 post 与 "isDraft":false ,但不幸的是结果相同 :(
基本上我的目的是 "Restore" 原始收件箱消息,这意味着在不发送的情况下在收件箱中创建它们....我用 EWS 做到了,现在试图转换成图表 api
那么,创建邮件的选项是否不是草稿?
P.S:就像在 EWS 中一样
https://msdn.microsoft.com/en-us/library/ms527503(v=exchg.10).aspx
非常感谢
是的。您必须在创建时通过 属性 标记 0x0E07(整数)设置消息标志。来自带有一些模组的 EWS 书 - "According to MSDN, the MSGFLAG_UNSENT message flag is read-write ONLY before the message is first saved (http://msdn2.microsoft.com/en-us/library/ms527629.aspx). After that, the flag is read only. What this means is that if you are going to modify the message flags for a message, you must do it when you first call CreateItem (or the REST equivalent). You cannot clear this flag on an existing message."
@David 提到的最终解决方案是通过扩展属性:
根据:
和:
https://msdn.microsoft.com/en-us/office/office365/api/extended-properties-rest-operations
https://msdn.microsoft.com/en-us/library/ee218129(v=exchg.80).aspx
"singleValueExtendedProperties": [
{
"id":"Integer 0x0E07",
"value":"4"
}
]
}
您还可以查看即时发送消息选项,这样就无需在某处创建消息然后发送。我们这样做并且不会在之后留下任何草稿。有关详细信息,请参阅此内容:https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations?f=255&MSPPError=-2147217396#SendMessageOnTheFly
我正在使用 office 365 邮件 Microsoft Graph API,尝试按照文档创建新邮件:
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/api/user_post_messages
POST https://graph.microsoft.com/beta/me/messages
Content-type: application/json
{
"subject":"Did you see last night's game?",
"importance":"Low",
"body":{
"contentType":"HTML",
"content":"They were <b>awesome</b>!"
},
"toRecipients":[
{
"emailAddress":{
"address":"AdeleV@contoso.onmicrosoft.com"
}
}
]
}
{ 输出:
"@odata.context":"https://graph.microsoft.com/beta/$metadata#users('ad787b4f-1fda-4523-8e48-ffedb7f4635f')/messages/$entity",
"@odata.etag":"W/\"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t\"",
"id":"AAMkAGRWAAAFSmKXAAA=",
"createdDateTime":"2017-12-23T07:29:57Z",
"lastModifiedDateTime":"2017-12-23T07:29:58Z",
"changeKey":"CQAAABYAAAAmXr9SsE/UR4PcnTZcg7qWAAAFS12t",
"categories":[
],
"receivedDateTime":"2017-12-23T07:29:58Z",
"sentDateTime":"2017-12-23T07:29:58Z",
"hasAttachments":false,
"internetMessageId":"<MWHPR130@MWHPR130.namprd13.prod.outlook.com>",
"subject":"Did you see last night's game?",
"bodyPreview":"They were awesome!",
"importance":"low",
"parentFolderId":"AAMkAGRWAAAAAAEPAAA=",
"conversationId":"AAQkAGRVYAsRJrRdc_mWNaxU=",
"conversationIndex":"AQHTe7/VAniOJVgCxEmtF1z6ZY1rFQ==",
"isDeliveryReceiptRequested":false,
"isReadReceiptRequested":false,
"isRead":true,
"isDraft":true,
"webLink":"https://outlook.office365.com/owa/?ItemID=AAMkAGRWAAAFSmKXAAA%3D&exvsurl=1&viewmodel=ReadMessageItem",
"inferenceClassification":"focused",
"unsubscribeData":[
],
我看到的输出是由收件箱创建的草稿消息。
我尝试 post 与 "isDraft":false ,但不幸的是结果相同 :(
基本上我的目的是 "Restore" 原始收件箱消息,这意味着在不发送的情况下在收件箱中创建它们....我用 EWS 做到了,现在试图转换成图表 api
那么,创建邮件的选项是否不是草稿?
P.S:就像在 EWS 中一样 https://msdn.microsoft.com/en-us/library/ms527503(v=exchg.10).aspx
非常感谢
是的。您必须在创建时通过 属性 标记 0x0E07(整数)设置消息标志。来自带有一些模组的 EWS 书 - "According to MSDN, the MSGFLAG_UNSENT message flag is read-write ONLY before the message is first saved (http://msdn2.microsoft.com/en-us/library/ms527629.aspx). After that, the flag is read only. What this means is that if you are going to modify the message flags for a message, you must do it when you first call CreateItem (or the REST equivalent). You cannot clear this flag on an existing message."
@David 提到的最终解决方案是通过扩展属性:
根据:
和:
https://msdn.microsoft.com/en-us/office/office365/api/extended-properties-rest-operations
https://msdn.microsoft.com/en-us/library/ee218129(v=exchg.80).aspx
"singleValueExtendedProperties": [
{
"id":"Integer 0x0E07",
"value":"4"
}
]
}
您还可以查看即时发送消息选项,这样就无需在某处创建消息然后发送。我们这样做并且不会在之后留下任何草稿。有关详细信息,请参阅此内容:https://msdn.microsoft.com/en-us/office/office365/api/mail-rest-operations?f=255&MSPPError=-2147217396#SendMessageOnTheFly