Exchange WLS mit PHP Probleme beim setzen der Zeitzone bei neuen Termin

Gast #5010888
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren