Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Google Calendar API - Freebusy

Mitglied: Ghost108

Ghost108 (Level 2) - Jetzt verbinden

18.10.2019 um 09:44 Uhr, 272 Aufrufe, 3 Kommentare

Guten Morgen zusammen,

ich arbeite das erste mal mit der Google Calendar API und würde gerne via PHP die Information abfragen, an welchen Tagen ich wann einen Termin habe.
Dafür habe ich mir "Freebusy" angesehen - leider ist die Google Dokumentation nicht so PHP-freundlich, was mir die Sache erschwert.

Das habe ich bislang:

01.
<?php
02.
	
03.
require_once 'vendor/autoload.php';
04.

05.
$client = new Google_Client();
06.
$client->setScopes('https://www.googleapis.com/auth/calendar');
07.
$client->addScope(Google_Service_Calendar::CALENDAR);
08.
$client->setDeveloperKey("MEIN_API_KEY");
09.

10.
$cal = new Google_Service_Calendar($client);
11.
$calendarId = 'primary';
12.
$freebusy_req = new Google_Service_Calendar_FreeBusyRequest();
13.
$freebusy_req->setTimeMin('2019-10-01T08:00:00.000-07:00');
14.
$freebusy_req->setTimeMax('2019-10-31T10:00:00.000-07:00');
15.
$freebusy_req->setTimeZone('Europe/Berlin');
16.
$freebusy_req->setCalendarExpansionMax(10);
17.
$freebusy_req->setGroupExpansionMax(10);
18.

19.
$item = new Google_Service_Calendar_FreeBusyRequestItem();
20.
$item->setId($calendarId);
21.
$freebusy_req->setItems(array($item));
22.
$query = $cal->freebusy->query($freebusy_req);
23.

24.
$response_calendar = $query->getCalendars();
25.
$busy_obj = $response_calendar[$calendarId]->getBusy();
26.

27.

28.
echo '<pre>';
29.
print_r($response_calendar);
30.
echo '</pre>';
31.
	
32.
?>

Die Antwort sieht so aus:

01.
Array
02.
(
03.
    [primary] => Google_Service_Calendar_FreeBusyCalendar Object
04.
        (
05.
            [collection_key:protected] => errors
06.
            [busyType:protected] => Google_Service_Calendar_TimePeriod
07.
            [busyDataType:protected] => array
08.
            [errorsType:protected] => Google_Service_Calendar_Error
09.
            [errorsDataType:protected] => array
10.
            [internal_gapi_mappings:protected] => Array
11.
                (
12.
                )
13.

14.
            [modelData:protected] => Array
15.
                (
16.
                )
17.

18.
            [processed:protected] => Array
19.
                (
20.
                )
21.

22.
            [errors] => Array
23.
                (
24.
                    [0] => Google_Service_Calendar_Error Object
25.
                        (
26.
                            [domain] => global
27.
                            [reason] => internalError
28.
                            [internal_gapi_mappings:protected] => Array
29.
                                (
30.
                                )
31.

32.
                            [modelData:protected] => Array
33.
                                (
34.
                                )
35.

36.
                            [processed:protected] => Array
37.
                                (
38.
                                )
39.

40.
                        )
41.

42.
                )
43.

44.
            [busy] => Array
45.
                (
46.
                )
47.

48.
        )
49.

50.
)
Leider ist das "Busy-Array" komplett leer.
Vermutlich, weil Google_Service_Calendar_Error einen "internalError" vorweist.
Leider hänge ich jetzt hier fest, da ich nicht weiß, wodurch der internalError zustande kommt :/

Hoffe ihr könnt helfen !
Mitglied: BirdyB
18.10.2019 um 09:58 Uhr
Hi,

hier gibt es ein Beispiel

VG
Bitte warten ..
Mitglied: Ghost108
18.10.2019 um 10:06 Uhr
das hatte ich bereits gesehen, allerdings unterscheidet sich das nicht gravierend zu meinem Script, oder habe ich etwas übersehen?
Bitte warten ..
Mitglied: helenaorstem
LÖSUNG 21.10.2019, aktualisiert 22.10.2019
01.
$freebusy_req = new Google_FreeBusyRequest();
02.
$freebusy_req->setTimeMin(date(DateTime::ATOM, strtotime($date_from)));
03.
$freebusy_req->setTimeMax(date(DateTime::ATOM, strtotime($date_to)));
04.
$freebusy_req->setTimeZone('America/Chicago');
05.
$item = new Google_FreeBusyRequestItem();
06.
$item->setId('{calendarId}');
07.
$freebusy_req->setItems(array($item));
08.
$query = $service->freebusy->query($freebusy_req);
Quelle
Bitte warten ..
Ähnliche Inhalte
Windows Server
Office 365 - EWS Calendar Replicator
Frage von adrian138Windows Server

Hallo zusammen, ich habe ein Mitel EWS Calender Repllicator welche gerne mit dem Outlook 2016 in der Cloud (Office ...

Microsoft
Microsoft Flow Calendar ID
gelöst Frage von VerwirrterUserMicrosoft1 Kommentar

Hi, mal eine etwas andere Frage aus dem Privaten Bereich. Ich würde gerne dynamisch in Microsoft Flow die Calender ...

PHP
Amazon API - Versandupdate
gelöst Frage von WPFORGEPHP5 Kommentare

Ich versuche über die Amazon API Trackingnummern für den Versand zu hinterlegen. Bisher versuche ich das mit einem XML ...

Hosting & Housing
Webhoster mit API
Frage von WPFORGEHosting & Housing4 Kommentare

Hallo, Ich habe eine Wordpress installation. Diese soll nun automatisiert auf diversen subdomains repliziert und leicht verändert werden (Es ...

Neue Wissensbeiträge
Humor (lol)
Das IoT wird schlimmer
Erfahrungsbericht von Henere vor 19 StundenHumor (lol)3 Kommentare

Nun auch schon über den WSUS:

Sicherheit

Win10 1809 und höher erlauben nun das Sperren und Whitelisten von bestimmten Geräten

Tipp von DerWoWusste vor 1 TagSicherheit1 Kommentar

Vor 1809 konnten nur Geräteklassen gesperrt werden, nun können endlich einzelne Device instance IDs gewhitelistet werden (oder andersherum: gesperrt ...

Windows 10

Hands-On: What is new in the Windows 10 November 2019 Update?

Information von DerWoWusste vor 1 TagWindows 10

Die wenigen (aber zum Teil interessanten) Neuheiten werden in diesem Video sehr schnell erklärt und vorgeführt.

Grafik

Gute Spiele aus der Ubuntu Repository: SuperTuxKart

Information von NetzwerkDude vor 2 TagenGrafik2 Kommentare

Fall jemand die Firmenpolicy hat das man Linux Software nur aus dem default Repository installieren kann: Ich habe festgestellt ...

Heiß diskutierte Inhalte
Ubuntu
Ubuntu-Putty hilfe
gelöst Frage von Nickolas.GroheUbuntu53 Kommentare

Hallo Wie ändere ich einen ssh Port auf Linux Ubuntu? LG Nickolas

Windows 7
Festplatte in einen anderen PC umziehen lassen
Frage von Ghost108Windows 729 Kommentare

Hallo zusammen, ich bekomme die nächsten Tage einen neuen PC (komplett andere Hardware als in meinem jetzigen) Was für ...

LAN, WAN, Wireless
10G Netzwerk konfigurieren für maximalen Datendurchsatz
Frage von hukimanLAN, WAN, Wireless29 Kommentare

Guten Morgen, in unserem Betrieb wurde das Netzwerk auf 10G (Kupfer) umgerüstet. Grund dafür sind große Laserscandaten die sehr ...

Microsoft Office
Abfrage ist beschädigt. Error-Code 3340 in Access2013
gelöst Frage von RomualdMicrosoft Office16 Kommentare

Hallo Foren-Mitglieder, ich hätte da mal ein Problem Seit heute am Morgen (13.11.2019) erhalte ich die Fehlermeldung "Abfrage '' ...