Forum: PC-Programmierung Exchange WLS mit PHP Probleme beim setzen der Zeitzone bei neuen Termin


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von baer (Gast)


Lesenswert?

Hi,

mit dieser Klasse habe ich nen Exchange 2016 Server angezapft:
https://github.com/rileydutton/Exchange-Web-Services-for-PHP/tree/master/lib

funktioniert eigentlich ganz gut, ich kann meine Termine auslesen und 
kann ebenso neue Termine anlegen,...

=> leider werden die Termine ohne TimeZone übertragen und dann wird:
> (UTC+00:00) Monrovia, Reykjavik
hinterlegt.

Da ich aber das ganze Länderübergreifend brauche, muss ich die Zeitzone 
setzen...

mit
1
$request->Ids->Id[] = 'W. Europe Standard Time';
2
$response = $this->client->GetServerTimeZones($request);
3
$tz = $response->ResponseMessages->GetServerTimeZonesResponseMessage->TimeZoneDefinitions->TimeZoneDefinition;

kann ich mir das Objekt der Zeitzone vom Server laden und mit
1
$CreateItem->Items->CalendarItem->StartTimeZone = $tz;
2
$CreateItem->Items->CalendarItem->EndTimeZone = $tz;
3
$response = $this->client->CreateItem( $CreateItem );

dann die Zeitzone (natürlich mit den anderen Elementen wie Betreff und 
Zeiten) setzen...

leider meldet der Server mir, dass ihm die "Transition property" 
fehlt...
=> diese ist aber im Objekt enthalten:
1
stdClass Object
2
(
3
    [Periods] => stdClass Object
4
        (
5
            [Period] => Array
6
                (
7
                    [0] => stdClass Object
8
                        (
9
                            [Bias] => -PT1H
10
                            [Name] => Standard
11
                            [Id] => trule:Microsoft/Registry/W. Europe Standard Time/1-Standard
12
                        )
13
14
                    [1] => stdClass Object
15
                        (
16
                            [Bias] => -PT2H
17
                            [Name] => Daylight
18
                            [Id] => trule:Microsoft/Registry/W. Europe Standard Time/1-Daylight
19
                        )
20
21
                )
22
23
        )
24
25
    [TransitionsGroups] => stdClass Object
26
        (
27
            [TransitionsGroup] => stdClass Object
28
                (
29
                    [Id] => 0
30
                )
31
32
        )
33
34
    [Transitions] => stdClass Object
35
        (
36
            [Transition] => stdClass Object
37
                (
38
                    [To] => stdClass Object
39
                        (
40
                            [_] => 0
41
                            [Kind] => Group
42
                        )
43
44
                )
45
46
        )
47
48
    [Id] => W. Europe Standard Time
49
    [Name] => (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna
50
)

Ebenso hat ein Manueller aufbau nichts geholfen... hier kann man schön 
sehen, wenn ich eines der Elemente weglasse, dass dann der Fehler:
> An internal server error occurred. The operation failed., Custom time zone 
should have Periods, TransitionsGroups, and Transitions elements.

kommt...

Hier wird beschrieben wo die Klasse eingefügt werden soll:
https://msdn.microsoft.com/en-us/library/office/dn789031(v=exchg.150).aspx

und hier, woher die Klasse kommt:
https://msdn.microsoft.com/de-de/library/system.timezoneinfo(v=vs.110).aspx

Leider kann ich beides nicht zu "brauchbaren" Ergebnissen umsetzen :/

Freue mich über jeden Tipp

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.