Solved

How do I create outlook appointments with c# in exchange?

Posted on 2011-03-07
10
870 Views
Last Modified: 2013-12-17
What is the easiest way to get it to work? I've been playing with Microsoft.Exchange.WebServices.Data; and it seems like this is the way to go.

0
Comment
Question by:joein610
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 4
10 Comments
 
LVL 22

Expert Comment

by:plusone3055
ID: 35059037
0
 
LVL 2

Expert Comment

by:pchui
ID: 35065869
This is the documentation for creating appointments with the EWS Managed API:
http://msdn.microsoft.com/en-us/library/dd633661(v=exchg.80).aspx#Y100

I assume that you are writing a server app, so you'll need to to create appointments for other users. In which case, you'll also need to incorporate impersonation:
http://msdn.microsoft.com/en-us/library/dd633680(EXCHG.80).aspx

If you are writing a client app, just use the Outlook Object Model. This example is VB.NET, but you get the idea... http://support.microsoft.com/kb/313788
0
 

Author Comment

by:joein610
ID: 35070122
Thank you for all the info. I'm trying to get it to work but it gets me an error all the time. I attached the API dll file but it seems like it doesn't work properly. Take a look at the screen shots
3-8-2011-8-58-55-AM.png
3-8-2011-8-59-45-AM.png
0
Get Actionable Data from Your Monitoring Solution

Your communication platform is only as good as the relevance of the information you send. Ensure your alerts get to the right people every time with actionable responses. Create escalation rules that ensure everyone follows the process and nothing is left to chance.

 
LVL 2

Expert Comment

by:pchui
ID: 35078671
Looks like you added the reference correctly, so I don't see why Visual Studio is complaining. Is Microsoft.Exchange.WebServices in the Object Browser (like in my screen shot)?
objectbrowser.JPG
0
 

Author Comment

by:joein610
ID: 35082768
Yes it is. Is there anything else I can do to try to get this to work?
0
 

Author Comment

by:joein610
ID: 35082812
This is how it looks like..
3-9-2011-8-52-29-AM.png
0
 
LVL 2

Expert Comment

by:pchui
ID: 35089999
Try building my project file. It assumes that the Microsoft.Exchange.WebServices.dll is in a subfolder named "EWS".

 EwsManagedTest.csproj Program.cs
0
 

Author Comment

by:joein610
ID: 35129085
Good Morning, I tried yours but  I got another error. I'm attaching my project + the screen shoot of the error.

The whole project is located here: http://www.nerdalert.biz/exchange.rar



3-14-2011-10-41-20-AM.png
0
 
LVL 2

Accepted Solution

by:
pchui earned 500 total points
ID: 35135669
It should be pretty similar to the AssemblyInfo.cs in your project. AssemblyInfo.cs
0
 

Author Comment

by:joein610
ID: 35141855
It worked. Thank you very much for your help. This is my code for any future reference:

using System;
using System.Net;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using Microsoft.Exchange.WebServices.Data;

namespace EwsManagedTest
{
    class Program
    {
        static void Main(string[] args)
        {
            ServicePointManager.ServerCertificateValidationCallback +=
            delegate(
                object sender,
                X509Certificate certificate,
                X509Chain chain,
                SslPolicyErrors sslPolicyErrors)
            {
                return true;
            };


            string userName = "login";
            string password = "password";
            string domain = "domain.com";
            string exchangeWebServiceUrl = "IPADDRESS/ews/exchange.asmx";
            ExchangeService service = new ExchangeService();
            service.Credentials = new WebCredentials(userName, password, domain);
            service.Url = new Uri(exchangeWebServiceUrl);

            Appointment appointment = new Appointment(service);
            appointment.Subject = "Testing";
            appointment.Start = DateTime.Now;
            appointment.End = appointment.Start.AddHours(1);
            appointment.Save();
           
        }
    }
}

0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
Many of us here at EE write code. Many of us write exceptional code; just as many of us write exception-prone code. As we all should know, exceptions are a mechanism for handling errors which are typically out of our control. From database errors, t…
In this video we outline the Physical Segments view of NetCrunch network monitor. By following this brief how-to video, you will be able to learn how NetCrunch visualizes your network, how granular is the information collected, as well as where to f…
This tutorial will teach you the special effect of super speed similar to the fictional character Wally West aka "The Flash" After Shake : http://www.videocopilot.net/presets/after_shake/ All lightning effects with instructions : http://www.mediaf…

695 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question