Hallo zusammen,
ich habe seither über mein Programm einen "Termin" in den Mailbox Kalender eintragen können, dies habe ich über:
ExchangeService service = new ExchangeService();
service.AutodiscoverUrl(exchange_mailbox, RedirectionUrlValidationCallback);
Appointment meeting = new Appointment(service);
meeting.Subject = projektnummer_aus_form1 + "--" + aktuelle_benutzer;
meeting.Body = "Grobveranschlagte Arbeitszeit für das Projekt >><b>"+projektnummer_aus_form1+"</b><< Seitens der Entwicklung/Konstruktion.<br><br>" +
"Diese Zeit kann jedoch variieren aufgrund sämtlicher Einflüsse wie (Fehlprojektierungen, Wartezeiten, Urlaubszeiten, Krankheitszeiten etc.)";
//Zeit einstellen
meeting.IsAllDayEvent = true;
meeting.Start = startzeit;
meeting.End = endzeit;
//Farbe Kategorie einstellen
meeting.Categories.Add(aktuelle_benutzer);
//Erinnerung einstellen
meeting.IsReminderSet = false;
//meeting.ReminderMinutesBeforeStart = 60;
// Send the meeting request
meeting.Save(new FolderId(WellKnownFolderName.Calendar, exchange_mailbox));
private static bool RedirectionUrlValidationCallback(string redirectionUrl)
{
// The default for the validation callback is to reject the URL.
bool result = false;
Uri redirectionUri = new Uri(redirectionUrl);
// Validate the contents of the redirection URL. In this simple validation
// callback, the redirection URL is considered valid if it is using HTTPS
// to encrypt the authentication credentials.
if (redirectionUri.Scheme == "https")
{
result = true;
}
return result;
}
realisiert, hat auch wunderbar funktioniert.
Unsere IT hat aber nun auf Exchange Online umgestellt,
davor war Exchange OnPromise.
Nun bekomme ich dauernd den Fehler, dass AutodiscoverUrl nicht lokalisiert werden kann.
Nach einem Nachfragen in der IT heißt es, dass das nicht mehr geht.
Nach vielem Googeln habe ich auch nichts passendes gefunden.
Weiß zufällig einer von euch etwas, wie ich weiterhin die "Termine" in den Cloudkalender bekomme?
Danke im Voraus.
Gruß Frank
Thema passt nicht in den Snippet-Bereich, daher in Office verschoben.
Hi,
der Konstruktor kennt i.d.R. noch eine ASMX-Variante - darauf wirst du dann umsteigen müssen. Siehe https://social.technet.microsoft.com/Forums/ie/en-US/29c2d40e-3958-4a84-a9f1-46c078ac5e77/exchange-365-online-and-web-service-ews?forum=onlineservicesexchange
LG
Autodiscover funktioniert nur, wenn es auch von der IT aktiviert und "redirected" wird. Machbar, aber eben in der Hand der IT.
Man kann aber problemlos die URL manuell in das Property ExchangeServiceUrl
übergeben!*Bei der IT erfragen
*In OWA nachschauen
*Auf gut Glück versuchen: https://outlook.office365.com/EWS/Exchange.asmx
Hallo zusammen,
ok super danke, das mit dem
https://outlook.office365.com/EWS/Exchange.asmx
funktioniert,
nun steh ich vor einem neuen Problem und zwar bei der Anmeldung.
ExchangeCredentials ECcredentials = new WebCredentials("username", "Passwort");
Der Username ist keine Problem, aber das Passwort.
Ich will nicht statisch mein Passwort und mein Nutzer verwenden, sondern dass der
jeweilige User sich anmeldet.
Kann man das Windowspasswort übergeben (nur übergeben, nicht speichern sonst irgendwas) ohne dass der User sich jedesmal manuell anmelden muss?
P.S.: habe
service.UseDefaultCredentials = true;
probiert geht aber nicht, da der Username nicht passt
ist bei uns name@firma.de
Hi,
du solltest dir schon mal die Doku anschauen...
Dann würdest du sofort sehen, dass man
service.UseDefaultCredentials = true;
nutzen kann.
LG
Huhu,
mh dann hab ich was überlesen,
also bin ich auf dem richtigen Weg?
Bin halt noch nicht sooo erfahren in vielen Funktionen etc. deshalb vlt auch die "noobigen" Fragen.
Hi,
sorry - da habe ich nicht genau nachgedacht.
NTLM (das, was du aktuell versuchst) wird gegen Office365 so nichts helfen, da das nur die OnPremise-Server anbieten.
Gemäß https://blogs.msdn.microsoft.com/webdav_101/2015/05/11/best-practices-ews-authentication-and-access-issues/ wirst du (wenn du's vollautomatisiert haben möchtest)
OAuth verwenden müssen (ist entsprechend verlinkt im Artikel).
LG
hab mich grad ein wenig eingelesen,
das sieht sehr kompliziert aus, da werde ich noch eine Weile benötigen.
Gruß Frank