Получение идентификатора сообщения от MS Graph API sendmail ()JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Получение идентификатора сообщения от MS Graph API sendmail ()

Сообщение Anonymous »

Ранее я успешно отправлял электронные письма с этим кодом. < /p>

Код: Выделить всё

SendMailPostRequestBody postRequest = new SendMailPostRequestBody();
postRequest.setMessage(message);
postRequest.setSaveToSentItems( this.saveToSentItems );
graphClient
.users().byUserId( this.username )
.sendMail()
.post( postRequest );
< /code>
Но я хотел надежный идентификатор сообщения. В официальной документации говорится < /p>

Вы можете использовать неизменные идентификаторы, чтобы найти сообщение в папке отправленных элементов после того, как она была отправлена, используя следующие шаги: < /p>

 Создать черновое сообщение, используя предпочтение: idtype = «Immutabled» < /code> head> save hespert the step at houte antempte in the steck of the steck of the steck. />  Отправьте сообщение с помощью идентификатора с предыдущего шага. Это копия в отправленных пунктах.Message posted = graphClient.users().byUserId( this.username )
.messages()
.post( message );
String postedId = posted.getId();
if( postedId != null ) {
graphClient.users().byUserId( this.username )
.messages()
.byMessageId( postedId )
.send()
.post();
Message gotten = graphClient.users().byUserId( this.username )
.messages()
.byMessageId( postedId )
.get();
return gotten.getId();
}
Это отправляет правильно, но без предпочтения: idtype = "ImmutableId" он надувает в линейном сообщении Gotten = .... .get () с

Код: Выделить всё

com.microsoft.graph.models.odataerrors.ODataError: The specified object was not found in the store., The process failed to get the correct properties.
at com.microsoft.graph.models.odataerrors.ODataError.createFromDiscriminatorValue(ODataError.java:36)
at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:212)
at com.microsoft.kiota.http.OkHttpRequestAdapter.lambda$throwIfFailedResponse$0(OkHttpRequestAdapter.java:704)
at com.microsoft.kiota.ApiExceptionBuilder.(ApiExceptionBuilder.java:26)
at com.microsoft.kiota.http.OkHttpRequestAdapter.throwIfFailedResponse(OkHttpRequestAdapter.java:703)
at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:307)
at com.microsoft.graph.users.item.messages.item.MessageItemRequestBuilder.get(MessageItemRequestBuilder.java:194)
at com.microsoft.graph.users.item.messages.item.MessageItemRequestBuilder.get(MessageItemRequestBuilder.java:181)
< /code>
Снова после официальных документов о том, как установить заголовки, я делаю это: < /p>
ItemBody html = new ItemBody();
html.setContentType( BodyType.Html );
html.setContent( msg.htmlEmail() );
Message message = new Message();
message.setSubject( msg.subjectLine() );
message.setBody( html );

LinkedList internetMessageHeaders = new LinkedList();
InternetMessageHeader internetMessageHeader = new InternetMessageHeader();
internetMessageHeader.setName("Prefer"); // Also tried with "X"
internetMessageHeader.setValue("IdType=\"ImmutableId\"");
internetMessageHeaders.add(internetMessageHeader);
message.setInternetMessageHeaders(internetMessageHeaders);

return message;
< /code>
Однако это дает ниже исключение. < /p>
com.microsoft.graph.models.odataerrors.ODataError: The internet message header name 'Prefer' should start with 'x-' or 'X-'.
at com.microsoft.graph.models.odataerrors.ODataError.createFromDiscriminatorValue(ODataError.java:36)
at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:212)
at com.microsoft.kiota.http.OkHttpRequestAdapter.lambda$throwIfFailedResponse$0(OkHttpRequestAdapter.java:704)
at com.microsoft.kiota.ApiExceptionBuilder.(ApiExceptionBuilder.java:26)
at com.microsoft.kiota.http.OkHttpRequestAdapter.throwIfFailedResponse(OkHttpRequestAdapter.java:703)
at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:307)
at com.microsoft.graph.users.item.messages.MessagesRequestBuilder.post(MessagesRequestBuilder.java:116)
at com.microsoft.graph.users.item.messages.MessagesRequestBuilder.post(MessagesRequestBuilder.java:101)
Если я включаю «x», он восходит к тому, чтобы быть неспособным снова найти электронное письмо.
Так что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/797 ... i-sendmail
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»