Got message response from Outlook Mail REST API without "Sender" or "From" fields - outlook-restapi

When requesting messages through GET https://outlook.office.com/api/v2.0/me/messages got 2 messages that doesn't have field Sender or From
I tried $select param but it has no effect
This field is critical for our application.

When you GET /me/messages, you get messages from all folders in the mailbox, including the Drafts folder. Draft messages do not have Sender or From set.
You should be able to check the isDraft property to check if that's the case.

Related

Emails/drafts sent via Gmail REST API can't be opened in the new Gmail UI

When sending drafts via the Gmail REST API, the message in the "Sent Mail" folder can't be opened by the sender in the new Gmail UI. You get the error message "The conversation that you requested could not be loaded.".
The message on the recipient side can be opened without problem though, new UI or not.
Reverting to the old/classic Gmail UI allows the sender to open the sent message.
Steps to reproduce:
Compose a draft in Gmail (new or old UI doesn't matter)
Find the draft ID via GET https://www.googleapis.com/gmail/v1/users/me/drafts
Send the draft via POST https://www.googleapis.com/gmail/v1/users/me/drafts/send with body {"id": "<draftId>"}
Go back to Gmail and switch to the new Gmail UI, then attempt to open the recently sent draft in the Sent folder. Attempting to open the message will fail.
Revert to the old/classic Gmail UI and open the recently sent draft in the Sent folder. You will be able to open the message without issues.
The recipient will be able to open the message without issues, using either the new or old UI.
UPDATE
When the broken sent email receives a reply, it seems to get 'fixed' and the sender can now open the sent email from the new Gmail UI. This seems to suggest that the REST API is missing something that gets fixed once the thread is updated by other means?
The error message in the browser console when attempting to open the broken sent message:
Error: Ppa No message loaded when we received the DETAILED_CONVERSATION_MESSAGES_LOADED event.
I can't reproduce this. Note that in the reproduction steps #2 is unnecessary. Instead, the result of drafts.create() in #1 should be analyzed, the id of the new draft message is present there.
Also worth noting, Draft IDs are not the same as Message IDs. The response of drafts.create() and drafts.update() will be a Draft ID while the result of drafts.send() will be the message ID. When viewing the sent message in Gmail UI make sure you are using the message ID.

DocuSign getting a ENVELOPE_HAS_DUPLICATE_RECIPIENTS error

Using the DocuSign C# SDK and when trying to submit an envelope, I get the following error:
{
"errorCode": "ENVELOPE_HAS_DUPLICATE_RECIPIENTS",
"message": "The specified envelope has duplicate recipients."
}
I know this is coming directly from the DocuSign REST API (since the C# SDK just wraps that message back). According to this QA in the DocuSign forum, duplicate recipients (name, email and recipient type) can exist in the same envelope as long as they have a different routing number. In my case I made sure the routing numbers are different. However I get the above error message back.
So my question is, if DocuSign API allows for duplicate recipients as long as there is a different routing order, why am I getting this message back?
I was getting the same error message when using templates that had been set up for user input and no regards to API use. I found that they'd re-used the field tags both in the data fields as well as when defining recipients, CC's, etc. When I made these all unique names it cleared up this error.
Perhaps you are using the same recipientId for many singers.
recipientId of a signer must be unique.

Why attachments from Gmail drafts copied to Trash?

I use this Gmail API request for fetching Gmail messages in user mailbox. I need to list messages from Trash as well. But in some cases message list got by list messages request is different from actual content of Trash folder content.
To reproduce the problem next steps can be performed:
Ensure that my Trash folder is empty - no messages visible in Gmail web client and API list messages request returns 0 messages in Trash.
Start creating message by pushing "COMPOSE" button in Gmail web client.
Attach file to this draft message.
Get messages list in Trash using Gmail API list messages request.
The request returns 1 new message in user Trash folder (with the file attached to draft mentioned above) however it`s not visible in Gmail web client.
Is it normal or kind of bug? Is this a problem of Gmail web client or Gmail API?
Based from this thread, when you upload a file to Gmail as an attachment, Gmail creates a temporary file to hold the data and is then sent to Trash.
So, to get a more precise search, try adding q parameter using the advanced search syntax.
See Searching for Messages to learn more.

Docusign : How to know the originator of recipient event

We have single connect configured for all document/recipient events.
And if we have a document that is sent to 4-5 recipients with no signing order in place.Each time a recipient signs, the 'Recipient Signed' event is triggered.
But, there is no info as to how to identify which recipient has exactly triggered the event??
Currently, DocuSign connect sends the xml response with all the Recipients' status.
Correct, if you want to know what has changed to cause a connect message to be sent to you, then you need to compare the latest message with the prior one.
Note that there can be more than one reason for a single connect message to be sent. Eg, when the last signer recipient signs, his status will be changed as well as the overall envelope status.

Sending iCalendar to an user who's also the organizer of the event

I'm working on a C# application that sends emails containing a vCalendar event in its body. Say I (knockycode) would like to create a calendar event via this application. An email will be sent to my email address with the following body:
BEGIN:VCALENDAR
METHOD:REQUEST
PRODID:-//MyCompany//Product//EN
VERSION:2.0
BEGIN:VEVENT
DTSTAMP:20130819T084518Z
DTSTART:20051126T011300Z
SUMMARY:Testing that calendars get received
UID:MyOwnID
SEQUENCE:123
ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN="knockycode#lotusnotes.com":MAILTO:knockycode#lotusnotes.com
ORGANIZER;CN="Knockycode":MAILTO:knockycode#lotusnotes.com
LOCATION:TBC
DTEND:20051126T031300Z
DESCRIPTION:Some Body\NAnother Line of the body
BEGIN:VALARM
ACTION:DISPLAY
DESCRIPTION:REMINDER
TRIGGER;RELATED=START:-PT02H30M00S
END:VALARM
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR
Take note that the organizer and the attendee is one and the same. This is so the organizer (me/knockycode) can actually have the event created on my mail client.
On Exchange/Outlook and gmail, the email is received (and I can RSVP to the event).
However, on Domino/Lotus Notes -- the email is not received (i.e. not shown in my mailbox). Though the logs in the Domino console do say the email's sent successfully.... If the organizer's email address was different to mine though -- the email does get received and shown in my mailbox.
Is there some configuration of the Domino server that would allow this email to be received?
Or something else has to be added to the email body?
I think this per your last comment is working as designed. The ICS will just get you a notice on the calendar. I would go back to the Exchange side and use a new meeting form to get all the elements for interaction. If you pass a meeting notice to a Notes user (depending on the version that the client is using) from Exchange you can send invites out of the box. Notes can send replies back successfully in some instances. The issue might come up with reschedules and meeting cancels. These don't play well between systems well. Then you might run your present code to pass a ICS at the time of meeting change time/location. I would see how things work first then write your code. The ICS file will also work under remote devices like Apple iPhone/iPad.

Resources