Reequipamiento electrónico 2 de envío a través de MS API gráfica devuelve el valor del parámetro 'Mensaje' está vacía

Appelpitje:

Tengo un proyecto Java que utiliza la primavera de reequipamiento 2 para hacer llamadas a la API a la Graph API de Microsoft. Soy capaz de autenticar, lea las casillas de correo y recuperar / leer mensajes de correo electrónico. Sin embargo yo estoy luchando con el envío de correos electrónicos.

Tengo el siguiente código para el envío de un correo electrónico:

Permisos: contiene los Mail.send

    private String[] scopes = [
            "openid",
            "email",
            "profile",
            "User.Read",
            "Mail.Read",
            "Mail.Send",
            "Mail.ReadWrite",
            "Calendars.Read",
            "Calendars.ReadWrite",
            "Contacts.Read",
            "Contacts.ReadWrite",
            "offline_access"
    ];

Reequipamiento de llamadas:

    @Headers("Content-Type: application/json")
    @POST("/v1.0/me/sendMail")
    Call<Message> sendMessage(
            @Body String messageObject
    );

La cadena que se envía es un jsonString:

"{\"Message\":{\"toRecipients\":[{\"address\":\"[email protected]\",\"name\":\"[email protected]\"}],\"Body\":{\"ContentType\":\"text/html\",\"Content\":\"value(Email_body)=%3Cp%3Etesttext%3C%2Fp%3E\"},\"Subject\":\"testsubject\"},\"SaveToSentItems\":\"true\"}"

De respuesta HTTP:

 <-- 400 Bad Request https://graph.microsoft.com/v1.0/me/sendMail (101ms)
 Cache-Control: private
 Transfer-Encoding: chunked
 Content-Type: application/json
 request-id: 94d19c39-4b84-4ee9-98d2-d42d36886e40
 client-request-id: 0c9d2c63-28bf-49c4-9ad6-08d81c6fd4b0
 x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"003","RoleInstance":"AGSFE_IN_27"}}
 Strict-Transport-Security: max-age=31536000
 Date: Wed, 09 Oct 2019 07:41:54 GMT

 {
  "error": {
    "code": "ErrorInvalidParameter",
    "message": "The value of the parameter 'Message' is empty.",
    "innerError": {
      "request-id": "94d19c39-4b84-4ee9-98d2-d42d36886e40",
      "date": "2019-10-09T07:41:54"
    }
  }
}
<-- END HTTP (253-byte body)

Cualquier idea de lo que está causando el error?

Appelpitje:

Así que lo he descubierto, la forma correcta de enviar JSON prima con filtro de partículas 2 es:

    @Headers("Content-Type: application/json")
    @POST("/v1.0/me/sendMail")
    Call<Message> sendMessage(
            @Body HashMap<String, Object> messageObject
    );

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=313642&siteId=1
Recomendado
Clasificación