亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 SchemaExtension 數據通過 Microsoft Graph API 發送消息

使用 SchemaExtension 數據通過 Microsoft Graph API 發送消息

C#
慕沐林林 2021-11-28 17:42:49
我正在尋找一些幫助格式化 Microsoft Graph API 中的架構擴展數據。我已經能夠使用此正文通過代碼和圖形資源管理器成功發送 Office 365 消息:{  "message": {    "subject": "Test Subject",    "body": {      "contentType": "Text",      "content": "Test Body "    },    "toRecipients": [      {        "emailAddress": {          "address": "[email protected]"        }      }    ]  }}我創建了一個架構擴展并將其提升為“可用”狀態。我可以查詢擴展以驗證它是否可用并獲取此響應正文:{    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#schemaExtensions",    "value": [        {            "id": "extc5bnq6uk_TestExtension",            "description": "Test Extension",            "targetTypes": [                "Message"            ],            "status": "Available",            "owner": "mysecretclienttenantgoeshere",            "properties": [                {                    "name": "ValueOne",                    "type": "String"                },                {                    "name": "ValueTwo",                    "type": "String"                }            ]        }    ]}到目前為止,我還無法將擴展數據附加到新消息中。我試過像這樣格式化我的請求正文:{  "message": {    "subject": "Test Subject",    "body": {      "contentType": "Text",      "content": "Test Body "    },    "toRecipients": [      {        "emailAddress": {          "address": "[email protected]"        }      }    ],    "extc5bnq6uk_TestExtension": {      "ValueOne": "TestValue",      "ValueTwo": "TestValue"    }  }}像這樣:{  "message": {    "subject": "Test Subject",    "body": {      "contentType": "Text",      "content": "Test Body "    },    "toRecipients": [      {        "emailAddress": {          "address": "[email protected]"        }      }    ],    "extensions":[    {        "extc5bnq6uk_TestExtension" : {            "ValueOne" : "TestValue"            "ValueTwo" : "TestValue"        }    }    ]  }我在圖表資源管理器中發布到這個 URL:https://graph.microsoft.com/v1.0/me/sendMail以及代碼中的“messages”和“sendMail”端點。
查看完整描述

2 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

我在文檔的已知限制中找到了答案。某些資源類型,包括消息,必須分兩個階段完成,一個初始發布,然后一個后續補丁。


創建消息然后使用此 JSON 進行修補會返回有效響應。


{

    "extc5bnq6uk_TestExtension": {

        "ValueOne": "Test Value One",

        "ValueTwo": "Test Value Two"

    }

}

不幸的是,消息模式擴展的另一個限制是它們不能用于過濾消息,這正是我最終所追求的。


Outlook 實體類型(聯系人、事件、消息或帖子)不支持對架構擴展屬性進行過濾(使用 $filter 表達式)。


查看完整回答
反對 回復 2021-11-28
?
慕斯709654

TA貢獻1840條經驗 獲得超5個贊

根據您發布的問題,您已成功創建了 schemaExtension。我認為您想發送帶有此 schemaExtension 的電子郵件,但是當您發送帶有此 schemaExtension 的電子郵件時,我們會在響應中收到 400 代碼。


根據我的測試,我認為我們可以使用請求正文作為打擊。


1.像這樣創建一個schemaExtension:


{

   "@odata.context":"https://graph.microsoft.com/v1.0/$metadata#schemaExtensions/$entity",

   "id":"{extensionId}",

   "description":"sample description",

   "targetTypes":[

       "Message"

    ],

   "status":"Available",

   "owner":"{owner id}",

   "properties":[

      {

          "name":"p1",

          "type":"String"

      },

      {

          "name":"p2",

          "type":"String"

      }

    ]

  }

創建消息

POST https://graph.microsoft.com/v1.0/me/messages


{

   "message":{

      "subject":"Meet for lunch?",

      "body":{

          "contentType":"Text",

          "content":"The new cafeteria is open."

       },

      "toRecipients":[

          {

              "emailAddress":{

                  "address":"{toRecipients email address}"

              }

          }

      ],

      "extensions":[

          {

              "@odata.type":"Microsoft.Graph.OpenTypeExtension",

              "extensionName":"{extensionName}",

              "p1":"Wingtip Toys",

              "p2":"10000"

          }

      ]

  },

  "saveToSentItems":"false"

}

當我們隨請求發送此消息時,我們將獲得 202 代碼。{toRecipients email address} 將收到電子郵件。


查看完整回答
反對 回復 2021-11-28
  • 2 回答
  • 0 關注
  • 355 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號