Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

FMK2017 - Google Calendar API und FileMaker by Arnold Kegebein

423 views

Published on

Mit der Google Calendar API kann man Google Kalenderdaten auslesen, anlegen und modifizieren.

Arnold Kegebein wird den Aufbau der API vorstellen, einschließlich von OAuth2.0, das für die Authentifizierung zum Zugriff auf Kalenderdaten nötig ist.

Im Vortrag wird ein neuer Kalender angelegt, Termine eingetragen und dann in FileMaker und dem Mac OS Kalender angezeigt.

Voraussichtlich wird eine Beispieldatenbank zur Verfügung gestellt, mit der einige Funktionen der API genutzt werden können.

Published in: Technology
  • Be the first to like this

FMK2017 - Google Calendar API und FileMaker by Arnold Kegebein

  1. 1. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 www.filemaker-konferenz.com FileMaker spricht mit Google Calendar Dipl.-Ing. (FH) Arnold Kegebein Google Calendar API
  2. 2. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein • Studium der Technischen Informatik • über 30 Jahre Datenbankentwicklung • seit 2007 FileMaker Entwickler • Autor für das FileMaker Magazin • Sprecher auf der FileMaker Konferenz FMK Dipl.-Ing. (FH) Arnold Kegebein
  3. 3. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Google APIs
  4. 4. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Google API Basics • Application Programming Interface (API) für Google Services • Unterstützung für verschiedene Programmiersprachen und -systeme • .NET, Java, Javascript, Node.js, PHP, Python, Ruby • Go, Google Apps Script • Android, iOS • REST API • Quoten-gesteuert • Autorisierung nötig
  5. 5. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Projekt anlegen • Zugriff über die API Console • Dashboard / Library / Credentials
 
 • Projektname (4 … 30 Zeichen) • Projekt ID wird automatisch generiert • Basiert auf dem Projektnamen • Wird von Google für Statistiken und Abrechnungen verwendet
 
 • Google API für Projekt freischalten • Credentials anlegen
  6. 6. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Credentials • Sicherheit für den Anwender • Sicherheit für das Projekt • Google APIs erfordern / erlauben unterschiedliche Credentials • API Key • Service Account • OAuth 2.0 Client ID
  7. 7. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein OAuth 2.0 • RFC 6749 – OAuth 2.0 Authorization Framework • OAuth Provider • Amazon, Google, Microsoft (mit FMS 16) • Basecamp, Deutsche Telekom, Dropbox, Facebook, PayPal, Twitter, … • Zugriff auf Anwenderdaten erfordert Zustimmung durch den Anwender
  8. 8. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein OAuth 2.0 Process • Applikation benötigt OAuth 2.0 Credentials • Access Token vom Google Authorization Server anfordern • User meldet sich mit seinem Google Account an • User gibt Erlaubnis, auf seine Daten zuzugreifen (user consent) • Access Token mit einer API Abfrage an Google senden • Ggfs. das Access Token erneuern (refresh)
  9. 9. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein OAuth 2.0 Process Credentials beantragen URL, Client ID + Secret Access Token beantragen User login & consent Token Antwort Mit Token Google API aufrufen Token erneuern Token response App Google Code validieren Validation Antwort Client ID + Secret Code Token Token
  10. 10. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Google Scope • Scope ist von der verwendetet API abhängig • Liste verfügbarer Scopes:
 https://developers.google.com/identity/protocols/googlescopes • Google Calendar API • Kalenderdaten verändern:
 https://www.googleapis.com/auth/calendar • Kalenderdaten nur lesen:
 https://www.googleapis.com/auth/calendar.readonly
  11. 11. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein REST API • Google Calendar API verwendet RESTful Services • GET – Daten holen/lesen • POST – Daten erzeugen • PUT – Daten ändern • PATCH – Daten ändern mit Patch Semantik • DELETE – Daten löschen / entfernen • Idempotenz • GET, PUT, DELETE • Ergebniszustand des System bleibt gleich • Response möglicherweise unterschiedlich
  12. 12. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Google Calendar Basic Concept Andreas Beverly Andreas Primär- Kalender Beverlys Primär- Kalender Team Kalender Sport Kalender Status Tracking Kalender Andreas Jahresabschluss Präsentation Firmenfeier Im Hotel Hafen
  13. 13. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Calendar Resource Type • ACL (Access Control List) • CalendarList • Calendars • Colors • Events • Freebusy • Settings
  14. 14. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein CalendarList URLs relativ zu https://www.googleapis.com/calendar/v3 Listen POST /users/me/calendarList Lesen GET /users/me/calendarList/calendarId Einfügen POST /users/me/calendarList Ändern PUT /users/me/calendarList/calendarId Ausbessern PATCH /users/me/calendarList/calendarId Löschen DELETE /users/me/calendarList/calendarId
  15. 15. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein CalendarList Resource {   "kind": "calendar#calendarListEntry",   "etag": etag,   "id": string,   "summary": string,   "description": string,   "location": string,   "timeZone": string,   "summaryOverride": string,   "colorId": string,   "backgroundColor": string,   "foregroundColor": string,   "hidden": boolean,   "selected": boolean,   "accessRole": string,   "defaultReminders": [     { "method": string, "minutes": integer }   ],   "notificationSettings": {     "notifications": [       { "type": string, "method": string }     ]   },   "primary": boolean,   "deleted": boolean } Kalender wird nicht gelöscht Kalender ist ausgeblendet freeBusyReader | reader | writer | owner
  16. 16. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Calendars URLs relativ zu https://www.googleapis.com/calendar/v3 Leeren POST /calendars/calendarId/clear Löschen DELETE /calendars/calendarId Lesen GET /calendars/calendarId Einfügen POST /calendars/ Ausbessern PATCH /calendars/calendarId Ändern PUT /calendars/calendarId
  17. 17. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Calendars Resource {   "kind": "calendar#calendar",   "etag": etag,   "id": string,   "summary": string,   "description": string,   "location": string,   "timeZone": string }
  18. 18. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Events URLs relativ zu https://www.googleapis.com/calendar/v3 Löschen DELETE /calendars/calendarId/events/eventId Lesen GET /calendars/calendarId/events/eventId Einfügen POST /calendars/calendarId/events Listen GET /calendars/calendarId/events Ausbessern PATCH /calendars/calendarId Ändern PUT /calendars/calendarId Verschieben POST /calendars/calendarId/events/eventId/move Lesen Wdhl GET /calendars/calendarId/events/eventId/instances
  19. 19. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Events Resource {   "kind": "calendar#event",   "etag": etag,   "id": string,   "status": string,   "htmlLink": string,   "created": datetime,   "updated": datetime,   "summary": string,   "description": string,   "location": string,   "colorId": string,   "creator": {     "id": string,     "email": string,     "displayName": string,     "self": boolean   },   "organizer": {     "id": string,     "email": string,     "displayName": string,     "self": boolean   },   "start": {     "date": date,     "dateTime": datetime, Event ID Startzeitpunkt
  20. 20. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Zeit + Datum | Dipl.-Ing. (FH) Arnold Kegebein Live Demo
  21. 21. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Zeit + Datum | Dipl.-Ing. (FH) Arnold Kegebein Fragen & Antworten
  22. 22. 8. FileMaker Konferenz | Salzburg | 12.-14. Oktober 2017 Google Calendar API | Dipl.-Ing. (FH) Arnold Kegebein Vielen Dank unseren Sponsoren

×