exposed email properties via the API - outlook-addin

I would like to get email statistics, and create an addin for that. I was wondering if the outlook API for developers exposes properties like:was an email replied/was an email marked for followup.

Related

What does it mean to "Read mail in all mailboxes"?

I'd like to know what it means when a Microsoft Graph application has the Mail.Read permission that says Read mail in all mailboxes.
Does this mean that such an application can read all mailboxes of every user in the entire company or what all mailboxes are they?
The admins won't grant me this permission as they justifiably think it might be a god-mode. Is it?
First, let's see the description here:
Microsoft Graph lets your app get authorized access to a user's
Outlook mail data in a personal or organization account. With the
appropriate delegated or application mail permissions, your app can
access the mail data of the signed-in user or any user in a tenant.
Let's see the graph api which requiring this api permission:
Get the messages in the signed-in user's mailbox (including the
Deleted Items and Clutter folders).
But if the Mail.Read you mentioned is Application Mail.ReadBasic.All, Mail.Read, Mail.ReadWrite, then
can get messages in another user's mail folder
I'm afraid it is really the god-mode you said. But please note, it doesn't mean , you invite my outlook email address into your company's tenant then you can use this api to read the emails in my outlook email address.
It means that the application has the ability to read email messages in all mailboxes of all users within the organization that has granted the application access to their mailbox. This includes access to the contents of the messages, including subject, body, sender, recipient, and other properties

Sending a mail using 365 instance

I am developing an app on Microsoft Teams, and I would like to send a mail with an instance of a logged in user.
This means that a user logs into my Microsoft Teams app, wants to send a custom mail that the app generated, now I want to send a request to my REST API to send this mail as the user.
I could not find any relevant information regarding sending an email like this, I only found methods to send emails with supplying username/password or using the current logged user on the machine (which I can't use since I want to do that using my REST API).
Example of what I found but is irrelevant:
https://www.add-in-express.com/creating-addins-blog/2011/09/02/outlook-create-send-message/
You don't mention if your app is a Tab or a Bot app (or something else), but I'm presuming a Tab. In any case, both Bots and Tab's offer the ability to do SSO sign-in of the user, in which case you can easily get a token for the user. In your backend API, you can exchange this for an "on behalf of" (OBO) token, which lets you access the Microsoft Graph API on the user's behalf. Once that's done, you can call the "send mail" operation on Graph.
To find out more about the above, see:
here for an excellent video overview on SSO with Tabs
here for a blog post on how to exchange the tokens and make the graph call securely
here for the specific operation in Graph (sending email)

How to get contact details using office.js/outlook add-in

is there way to get contacts similar to micrososft graph api using outlook add-in with office.js .this document is not clear.i am looking something like following
Office.context.contacts ?
Office.Contact interface represents a contact which is stored on the server. It is read mode only.
The list of contacts associated with an email message or appointment is returned in the contacts property of the Office.Entities object that is returned by the getEntities or getEntitiesByType method of the active item.
For more information, please review the following link: Office.Contact interface

Getting properties from Appointments not exposed in the API

Is it possible to retrieve properties not exposed by the office.js API for appointment items in the OWA in a HTML Add-In (e.g. Milage) hosted on an Exchange 2013 Server (otherwise I could use EWS from the offĂ­ce js, i think in ex2016) ?
No. We are not able to get the properties which not exposed by the Office API. But we can use EWS from the mail app directly by makeEwsRequestAsync.
And we can use GetItem operation to get the specified properties and contents of items from the Exchange store.
Here is the document reference for Call web services from an Outlook add-in.

How to send invitation mail for join a meeting in gotomeeting?

I have an account of gotomeeting and using api to create/start/getMeeting etc but I have not found any api to send mail and invite people to attend a meeting. Is it possible to send invitation mail to people to join a meeting using api? If not then is there any other solution to send meeting invitation mail?
Is it possible to register a user before start of meeting? How can we find how many user has attended the meeting?
Thanks in advanced.
Yes its possible, the email invitation will be in two type
A normal email from server
An appoinment item.
If you want to send a normal email to participants. just fill the mail with join link with Created meetingid
You can create the join link for any particular meeting by concatenating the www.global.gotomeeting.com/join/ with meetingID which is look like www.global.gotomeeting.com/join/25456364 (number is sample meeting id).
send the above details as a mail. Sending mails from program depends on "which language you are developing" like C#/JAVA?
If you want to send the appoinment item, either you need to use EWS (Exchange webservices API) or you need to generate an ".ics" file from application with your meeting details filled in.
For your questions:
Is it possible to register a user before start of the meeting?
Yes, you can. the gotomeeting application itself having the options for invite a participant and adding a co-orrganizer.
How can we find how many user has attended the meeting?
You can find it using the api function call. below is the C# code for getting the attendees of a past meeting.
Namespace : using Citrix.GoToMeeting.Api;
MeetingsApi meeting = new MeetingsApi();
List<AttendeeByMeeting> attendees = new System.Collections.Generic.List<AttendeeByMeeting>();
attendees = meeting.getAttendeesByMeetings(accesToken, 23843894);
NOTE : API is used within the context of gotomeeting application, physically you cannot attend a meeting in any application except GotoMeeting desktop application and GotoMeeting webapplication (which is offered in their website).
GTM isn't going to send the email for you it, as it doesn't have access to any email account. You should be looking to use one of the wide variety of different email APIs around. E.g. if you're in a Windows/Exchange environment then look at using the Exchange Web Services. If you want a more generic solution look for an SMTP library for your platform.
Attendees for GTMs don't register at any point, only hosts need to have a registered account. Even when you join a meeting as an attendee the details (name + email) you put in can be anything. What are you trying to achieve by "pre-registration"?
I can't answer your last question about finding out how many users attended the meeting, I would guess probably not but I'm not really familiar with the API.