当前位置: 首页 > 知识库问答 >
问题:

使用SchemaExtension数据通过Microsoft Graph API发送消息

鲁洋
2023-03-14
{
  "message": {
    "subject": "Test Subject",
    "body": {
      "contentType": "Text",
      "content": "Test Body "
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "foo@email.com"
        }
      }
    ]
  }
}
{
    "@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": "foo@email.com"
        }
      }
    ],
    "extc5bnq6uk_TestExtension": {
      "ValueOne": "TestValue",
      "ValueTwo": "TestValue"
    }
  }
}

就像这样:

{
  "message": {
    "subject": "Test Subject",
    "body": {
      "contentType": "Text",
      "content": "Test Body "
    },
    "toRecipients": [
      {
        "emailAddress": {
          "address": "foo@email.com"
        }
      }
    ],
    "extensions":[
    {
        "extc5bnq6uk_TestExtension" : {
            "ValueOne" : "TestValue"
            "ValueTwo" : "TestValue"
        }
    }
    ]
  }
}

两种格式都返回一个400代码,并带有响应体:

{
    "error": {
        "code": "RequestBodyRead",
        "message": "The property 'extc5bnq6uk_TestExtension' does not exist on type 'Microsoft.OutlookServices.Message'. Make sure to only use property names that are defined by the type or mark the type as open type.",
        "innerError": {
            "request-id": "21792fd0-44d1-42aa-8d51-f8abc92cbd04",
            "date": "2018-08-14T16:39:31"
        }
    }
}

和“sendmail”endpoint。

共有1个答案

卫高谊
2023-03-14

杰夫

根据您发布的问题,您已经成功创建了schemaExtension。我认为您希望用这个schemaExtension发送电子邮件,但是当您用这个schemaExtension发送电子邮件时,我们得到的是响应中的400代码。

根据我的测试,我认为我们可以使用请求体作为blow。

{
   "@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"
      }
    ]
  }
{
   "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"
}
 类似资料:
  • 我正在尝试使用Postman通过云消息服务发送一次推送通知。 这是一个用于相同目的的工作命令,我将其用作参考。 到目前为止我所做的。。 1-适当设置标题 2-在Body,我使用 执行时,我返回

  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将

  • 我正在开发一个NativeScript Android应用程序,其中我希望用户能够在按下一个按钮后打开WhatsApp联系人(只知道电话号码)。我目前使用Nativescript-open-app打开WhatsApp。是否也可以打开对话? 要打开WhatsApp,我使用以下代码(也许可以修改“com.WhatsApp”?):

  • 我想通过javascript代码发送gcm消息。为此,我们需要发布一个json对象。 gcm文档:http://developer.android.com/google/gcm/adv.html.中给出了url和json对象格式 出于测试目的,我编写了一个完美运行的Java代码。但是爪哇脚本代码不起作用。如果有人有一些示例工作代码(gcm的爪哇脚本),请发布。 脚本代码 :

  • 所以我试图通过ajax将图像作为一个blob发送。blob的类型正确,大小约为4.5 kb。我试着这样发送: 接收页面看起来像这样: 它告诉我找不到索引“图像”。所以不仅数据没有发送,甚至索引也被省略了。我做错了什么? 编辑: toBlob和toDataURL都不会产生任何东西,只是一个空的PNG。有没有办法将数据从帧缓冲区转换成Base64编码的jpg或png?

  • 我有一个Spring启动应用程序运行在heroku。我使用webSocket为特定用户向客户端和服务器发送消息。我使用Spring引导的SimpMessagingTemplate.convertAndSendToUser来发送和接收消息,当用户需要从服务器获取消息时,这种方法效果很好。我使用Heroku会话亲和力,这意味着即使我扩大了会话的数量,用户和webSocket仍然共享同一个会话。 当我需