Does Outlook.com support EWS? If no, what are the different ways to access a users tasks and calendar using python?
So far I have done the following:
Used EWSWrapper and tried out using suds-ews with python. All these implementation fail when i try with an outlook.com account.
So here is what I want to know:
If EWS is not available , what other ways can I do to retrieve task and calendar list .
Is there a library in python that I can use which considers, earlier 2007 exchange servers, the newer once from 2010 to 2013 and does basic error handling.
Any help is appreciated.
Yes it supports now
Microsoft migrated from the legacy infrastructure to latest Office 365 based infrastructure
Following code snippet in c# will send HelloWorld message via EWS from outlook.com
var service = new ExchangeService
{
TraceEnabled = true,
TraceFlags = TraceFlags.All,
Credentials = new WebCredentials("user#outlook.com", "p#ssw0rd"),
Url = new Uri("https://outlook.com/EWS/Exchange.asmx")
};
var email = new EmailMessage(service);
email.ToRecipients.Add("recipient#outlook.com");
email.Subject = "HelloWorld";
email.Body = new MessageBody("This is the first email I've sent by using the EWS Managed API.");
email.Send();
For more code samples visit EWS Managed API docs
Currently the consumer facing Outlook.com (this is the Hotmail replacement, not to be confused with the Office 365 offering which uses the same root domain name) does NOT support EWS. It only supports EAS.
See this thread: http://answers.microsoft.com/en-us/windowslive/forum/mail-profile/i-want-to-access-outlookcom-account-over-exchange/83971a95-7fb3-483a-96fc-ac7e0299345b?msgId=71d12357-f735-4958-baef-39997b5802c8
I'm a C#-Developer so I don't know how it works in Python, but EWS Managed API works with ExchangeOnline. I'm already using it.
Maybe you have to enable redicreting in the autodiscover. See:
http://msdn.microsoft.com/en-us/office365trainingcourse_10l_1_topic2
I tried to connect to Outlook.com with ServerVersion 2010 and 2013-Setting and both work fine.
Outlook.com accounts do not support the EWS exchange service API especially when trying to use the oAuth2 token obtain from live.com.
It is recommended to try and use the REST API. The REST API is currently enabled on all Office 365 accounts that have Exchange Online and some Outlook.com accounts.
You can find more detailed information about it here and here
Related
I am working on an asp.net web form that has users with different O365 serviceses.
I mean they are not on the same AD, but come from different businesses.
I'm think they need to enter a username and password for their own system and then read the information.
Is there a way to access this calender information in C#?
I know there is Microsoft Graph, but can it be used with only a username and password without creating an applikation in Azure.
MS Graph is the most stable and efficient way of accessing O365 information nowadays. However, you may still use EWS or Outlook REST APIs, see Explore the EWS Managed API, EWS, and web services in Exchange for more information.
Here is what MS states in MSDN:
Microsoft recommends using Microsoft Graph to access Outlook mail, calendar, and contacts. You should use the Outlook APIs directly (via https://outlook.office.com/api) only if you require a feature that is not available on the Graph endpoints.
See Overview of using the Outlook REST APIs for information.
I'm currently working on a project where I'm sending and updating Appointsments. I would like to do this without the use of ActiveX since I don't want to be limited to IE. I've been googeling for quite some time now, but I couldn't find anything that helped, so here's my question. Is there any way I can access or update appointments without the use of ActiveX.
We also have access to the OutlookWebApp, so maybe there's an interface there. Would be great if someone had an idea. Thanks in advance and
Greetings Chris
You can use Exchange Web Services (web or desktop app) or the EWS Managed API (desktop app only) to access data in Exchange Mailboxes: https://msdn.microsoft.com/en-us/library/office/jj162981.aspx.
If you are working with Office 365 mailboxes you can use the Outlook REST or Microsoft Graph APIs: https://dev.outlook.com/
If your solution requires a UI in Outlook Online (OWA) then you can access contextual data (i.e. the current email or appointment) with an Outlook Add-in (you can use EWS requests from it as well): https://dev.outlook.com/reference/add-ins/
I am getting this error
Unable to authenticate LiveId.
http://prntscr.com/cx116z
I would suggest to get in touch with developers of that application. It looks like you use Office 365 authentication and that application tries to authenticate using provided credentials using LiveId that is not used as authentication provider for years.
Not sure what plugin you are using, but our plugin fully supports Office 365 Authentication and works fully with CRM On-Premises and CRM Online versions 2011 or later: https://www.saintsystems.com/products/gravity-forms-dynamics-crm-add-on/
Let me know if I can help in any way.
I have written an Outlook Add-In using the "standard" approach, which is a COM Add-In, compatible with Outlook Windows desktop versions.
I'm doing now a research about the capabilities of the new Office API which uses Javascript/HTML and is compatible with Outlook 2016 Windows/Mac and Web.
However, the resources seem really limited, where can I the information what functionalities that API provides i.e. in scope of the Calendar functionality of Outlook?
You can get started using JavaScript APIS using this link : https://dev.outlook.com/MailAppsGettingStarted/GetStarted
API Reference : https://dev.outlook.com/reference/add-ins/
This API provides access to mail/calendar item. This APIs are supported in Windows Outlook 2016 and Outlook Web Mail access client.
Hope it helps.
You are right, the functinality is still limited. See https://dev.outlook.com/ for more information about available APIs. But you may also find the EWS helpful. Read more about that in the EWS Managed API, EWS, and web services in Exchange section.
I am very new to Microsoft Dynamics CRM. I am trying to connect to my demo account through REST API using SOUP Ui. But every time I am getting authorization failed error( Error code 401). How should I pass my login credentials in HTTP Header. I am not using SDK, I am just making a rest API call. Please help me in this. If my question is too broad please let me know. I will update my question.
Regards
Not sure how Soup UI works but it sounds like you will need to provide login credentials.
The MSDN has a C# sharp example.
private HttpClient getNewHttpClient(string userName,string password,string domainName, string webAPIBaseAddress)
{
HttpClient client = new HttpClient(new HttpClientHandler() { Credentials = new NetworkCredential(userName, password, domainName) });
client.BaseAddress = new Uri(webAPIBaseAddress);
client.Timeout = new TimeSpan(0, 2, 0);
return client;
}
Can u tell me exactly what should I use for the argument domainName
This depends on exactly what type of CRM setup (online, on-premise, IFD) you are trying to connect to.
Have a look at this and this which demonstrates various connection string details. The samples are using a different connection mechanism to use the SOAP services, but I would expect the username, domain, to be the same with the REST endpoint.
Do u know which are all authentication types Microsoft Dynamics CRM
accepts like (Basic, NTLM, etc) ?
Authenticate users in Microsoft Dynamics CRM
Microsoft Dynamics CRM supports three security models for
authentication: claims-based authentication, Active Directory
authentication, and OAuth 2.0. The type of authentication used depends
on the type of deployment your application is accessing, Microsoft
Dynamics CRM Online or Microsoft Dynamics CRM 2016, and if your
application is using the Web API or the Organization Service.