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


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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.