2012-12-18 5 views
6

Gibt es eine Möglichkeit mit der Google Kalender-API zu sehen, welche Räume beim Abrufen eines Meetings über die API gebucht wurden?Google Kalender-API Räume/Ressourcen anzeigen/bearbeiten?

Gibt es auch eine Möglichkeit, einer Besprechung über die Kalender-API eine Raumressource hinzuzufügen?

+0

+1 bitte pos t eine verwaltbare Version Ihres Codes –

Antwort

3

Haben Sie versucht, die Frei/Gebucht-Informationen der Ressource abzufragen (https://developers.google.com/google-apps/calendar/v3/reference/freebusy/query)?

Sie können eine Raumressource für ein Meeting aktualisieren, indem Sie das Ereignis (https://developers.google.com/google-apps/calendar/v3/reference/events/update) aktualisieren.

Hoffentlich gibt Ihnen das einige gute Ideen.

+0

Aus der Dokumentation sieht es so aus, als wäre die Abfrage nur für einen Kalender und nicht für Ressourcen –

+0

@Emily, ich sehe nicht, wo Sie eine Zimmerressource in den Update-Link, den Sie gebucht haben, hinzufügen. Kannst du es ausarbeiten? – FullStack

+0

In der Ereignisressource gibt es eine Feldressource. Wenn Sie versuchen, eine Veranstaltung zu erhalten, die ein Zimmer gebucht hat, können Sie so etwas wie dies sehen: { „Ressource“: true, „displayname“: „Room-17“, „E-Mail“: „domain_52d353238 @ Ressource .calendar.google.com ", " responseStatus ":" akzeptiert " } – Emily

4

Die Tatsache, dass Sie Ressourcen mit Google Kalender verwenden, sagt mir, dass Sie ein Google Apps for Business/Education-Benutzer sind.

Wenn Sie eine Liste der Ressourcen in Ihrer Organisation benötigen, müssen Sie die Google Apps Calendar Resource API verwenden. Sie können diese API auch zum Erstellen neuer Ressourcen verwenden.

Wenn Sie die Verfügbarkeit einer Kalenderressource angeben möchten, müssen Sie die Google Kalender-API verwenden. Sie müssen die API mithilfe eines Benutzernamens abfragen, der über die entsprechenden Berechtigungen zum Anzeigen des Ressourcenkalenders verfügt. Die ID eines Kalender Ressource sieht aus wie eine E-Mail Adresse in Endung @ resource.calendar.google.com

Sie auch beachten, dass Ressourcen bei Ihren Veranstaltungsteilnehmer aufgeführt sind.


Jetzt die schlechte Nachricht

Zum Zeitpunkt des Schreibens (Oktober 2013) die Google Apps Kalender Ressource-API verwendet Atom/OAuth 1.0a, während die Google Calendar API-Version 3 verwendet JSON/OAuth 2.0 .

Also das bedeutet, dass Sie derzeit zwei verschiedene Mechanismen der Authentifizierung und zwei verschiedene Arten von API implementieren müssen, Spaß eh?

Seit Google die Unterstützung für OAuth 1.0a ablehnt, bin ich mir sicher, dass sie die Google Apps-Kalender-Ressourcen-API neu schreiben, um JSON/OAuth 2.0-kompatibel zu werden (ich kann hier eine Frage stellen) Das!).

aktualisieren

Bitte meine Frage, um Informationen über die Lebensdauer der Google Apps Kalender Ressource API sehen:

Google Apps Calendar Resource API v1 (Atom/OAuth 1.0) likely lifespan?

+0

Wie aktivieren Sie die Kalenderressourcen-API über die Entwicklerkonsole? Ich sehe es nicht gelistet – FullStack

+0

Ich wäre besorgt über das Schreiben von etwas neues mit ihm, wie es scheint, eine begrenzte Lebensdauer haben - das sagte ich glaube, es ist Teil des Admin SDK. https://developers.google.com/admin-sdk/calendar-resource/. Beachten Sie außerdem, dass es nur für Google Apps for Business- und Education-Domains verfügbar ist. –

+0

Nach ein wenig mehr Ausgrabung verwendet die API das jetzt veraltete OAuth 1.0 https://developers.google.com/accounts/docs/OAuth_ref und erfordert daher wahrscheinlich keine Aktivierung in der Entwicklerkonsole (stattdessen wird der OAuth-Domänenschlüssel benötigt)). Der Bereich für den Zugriff auf die API lautet "https://apps-apis.google.com/a/feeds/calendar/resource/". –

4

Ich habe es gerade ausprobiert - es funktioniert gut (Retouren Array von gebuchten Daten für jede Ressource ID, schließlich, wenn ein solches Array leer ist - Ressource ist für Sie verfügbar. Ich möchte boolesche Werte erhalten, aber immer noch ..)

Sie müssen also folgende API verwenden.

  1. Zum Abschnitt versuchen, es

  2. Login mit oauth

  3. Paste Anfrage unter

Request-Code (Ressourcen-IDs an bestehenden ersetzen):

{ 
    "maxResults": 10, 
    "timeMin": "2013-11-27T00:00:00+02:00", 
    "timeMax": "2013-12-27T23:59:59+02:00", 
    "items": [ 
     { 
      "id": "[email protected]" 
     }, 
     { 
      "id": "[email protected]" 
     }, 
     { 
      "id": "[email protected]" 
     } 
    ] 
}