Mit der klassischen Google Sites API können Ihre Anwendungen auf Inhalte in einer Google Sites-Website zugreifen, diese veröffentlichen und ändern. Darüber hinaus kann Ihre Anwendung eine Liste der letzten Aktivitäten anfordern, einen Überarbeitungsverlauf abrufen und Anhänge und Dateien hochladen/herunterladen.
Zielgruppe
In diesem Dokument wird davon ausgegangen, dass Sie mit den allgemeinen Ideen hinter dem Google Data APIs-Protokoll vertraut sind.
Dieses Dokument richtet sich an Programmierer von Client-Anwendungen, die mit Google Sites interagieren können. Es enthält eine Reihe von Beispielen für grundlegende Daten-API-Interaktionen mit XML-/HTTP-Rohdaten und Erläuterungen. Nachdem Sie dieses Dokument gelesen haben, können Sie mehr über die Interaktion mit der API mithilfe unserer Clientbibliotheken erfahren. Lesen Sie dazu die sprachspezifischen Beispiele in den anderen Anleitungen in der linken Navigationsleiste.
Eine Referenz zum Material in diesem Leitfaden finden Sie im Referenzhandbuch.
Anfragen autorisieren
Wenn Ihre Anwendung nicht öffentliche Nutzerdaten anfordert, muss sie ein Autorisierungstoken enthalten. Anhand dieses Tokens wird deine Anwendung Google gegenüber identifiziert.
Autorisierungsprotokolle
Ihre Anwendung muss zur Autorisierung von Anfragen OAuth 2.0 verwenden. Andere Autorisierungsprotokolle werden nicht unterstützt. Wenn deine Anwendung Über Google anmelden verwendet, werden einige Schritte der Autorisierung automatisch ausgeführt.
Anfragen mit OAuth 2.0 autorisieren
Anfragen an die Google Sites Data API für nicht öffentliche Nutzerdaten müssen von einem authentifizierten Nutzer autorisiert werden.
Die Details dieses Autorisierungsablaufs für OAuth 2.0 hängen davon ab, welche Art von Anwendung du schreibst. Die folgende allgemeine Vorgehensweise gilt für alle Arten von Anwendungen:
- Wenn Sie Ihre Anwendung erstellen, registrieren Sie diese über die Google API Console. Google stellt Ihnen dann die Informationen bereit, die du später benötigst, z. B. eine Client-ID und einen Clientschlüssel.
- Aktivieren Sie die Google Sites Data API in der Google API Console. Überspringe diesen Schritt, falls die API nicht in der API Console aufgeführt ist.
- Wenn deine Anwendung Zugriff auf Nutzerdaten benötigt, bittet sie Google um einen bestimmten Zugriffsbereich.
- Dem Nutzer wird von Google ein Zustimmungsbildschirm angezeigt, auf dem er gebeten wird, deine Anwendung dazu zu autorisieren, einige seiner Daten abzufragen.
- Wenn der Nutzer zustimmt, erhält deine Anwendung von Google ein kurzlebiges Zugriffstoken.
- Die Anwendung fordert Nutzerdaten an, wobei das Zugriffstoken an die Anfrage angehängt wird.
- Stellt Google fest, dass Ihre Anfrage und das Token gültig sind, werden die angeforderten Daten zurückgegeben.
Einige Abläufe enthalten zusätzliche Schritte, beispielsweise die Verwendung von Aktualisierungstoken zum Erhalt neuer Zugriffstoken. Weitere Informationen über die Abläufe für die unterschiedlichen Anwendungstypen findest du in der OAuth 2.0-Dokumentation.
Im Folgenden finden Sie die Informationen zum Umfang von OAuth 2.0 für die Google Sites Data API:
https://sites.google.com/feeds/
Zur Anforderung eines Zugriffs mit OAuth 2.0 benötigt Ihre Anwendung die Informationen zum Umfang sowie die Informationen, die Google bei der Registrierung Ihrer Anwendung bereitstellt, z. B. die Client-ID und den Clientschlüssel.
Version angeben
Für jede Anfrage an das Google Sites Data API sollte eine Version von 1.4 angegeben sein. Verwenden Sie den HTTP-Header GData-Version
, um eine Versionsnummer anzugeben:
GData-Version: 1.4
Wenn Sie keine HTTP-Header festlegen können, haben Sie die Möglichkeit, v=1.4
als Suchparameter in der URL anzugeben. Der HTTP-Header wird jedoch nach Möglichkeit bevorzugt.
Hinweis: Da die Clientbibliotheken automatisch entsprechende Versionsheader bereitstellen, sollten Sie den Abfrageparameter v=1.4
nicht verwenden, wenn Sie eine Clientbibliothek verwenden.
Website-Feed
Mit dem Websitefeed können Sie die Google Sites-Websites auflisten, die einem Nutzer gehören oder für die er Leseberechtigung hat, und auch den Titel einer vorhandenen Website ändern. Bei G Suite-Domains kann sie auch zum Erstellen oder Kopieren einer gesamten Website verwendet werden.
Websites auflisten
Senden Sie eine authentifizierte GET
-Anfrage an die folgende URL, um die Websites aufzulisten, auf die ein Nutzer Zugriff hat:
https://sites.google.com/feeds/site/domainName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer gehosteten G Suite-Domain (z.B. example.com ). |
Die Antwort enthält einen Feed mit einer Liste von Websites:
GET /feeds/site/domainName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/site/site</id> <updated>2009-12-02T17:47:34.406Z</updated> <title>Site</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/site/site"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://sites.google.com/feeds/feeds/site/domainName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName"/> <link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/?start-index=2"/> <generator version="1" uri="http://sites.google.com/">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"CkUAQH4_eil7I2A9WxNaFk4.""> <id>https://sites.google.com/feeds/site/site/myTestSite</id> <updated>2009-12-01T01:17:21.042Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T01:17:21.042Z</app:edited> <title>myTestSite</title> <summary/> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myTestSite/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myTestSite"/> <sites:siteName>myTestSite</sites:siteName> <sites:theme>default</sites:theme> </entry> <entry gd:etag="W/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Memories Site"/> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <sites:siteName>myOtherTestSite</sites:siteName> <sites:theme>iceberg</sites:theme> </entry> ... </feed>
Die Websites sind alphabetisch geordnet.
Neue Websites erstellen
Hinweis: Diese Funktion ist nur für G Suite-Domains verfügbar.
Neue Websites können bereitgestellt werden, indem ein HTTP-POST
für den Websitefeed erstellt wird. Beispiel:
POST /feeds/site/example.com HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008"> <title>Source Site</title> <summary>A new site to hold memories</summary> <sites:theme>slate</sites:theme> </entry>
Durch die obige Anfrage wird eine neue Google Sites-Website mit dem Design „Slate“ unter der G Suite-Domain example.com
erstellt.
Die URL der Website wäre http://sites.google.com/a/beispiel.de/quellwebsite/.
Wenn die Website erstellt wurde, antwortet der Server mit 201 Created
.
Der Antworteintrag enthält Elemente, die vom Server hinzugefügt werden, z. B. ein Link zur Website, ein Link zum ACL-Feed der Website, der Websitename, der Titel und eine Zusammenfassung.
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>New Test Site</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/source-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/source-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <sites:siteName>source-site</sites:siteName> <sites:theme>slate</sites:theme> </entry>
Websites kopieren
Hinweis: Diese Funktion ist nur für G Suite-Domains verfügbar.
Eine bestehende Website kann auf dieselbe Weise dupliziert werden wie eine neue Website erstellen. Fügen Sie im Atom-Eintrag der Anfrage POST
jedoch <link>
mit rel='source'
ein, die auf den Websitefeed der zu kopierenden Website verweist. Alle kopierten Websites haben diesen Link. Hier ein Beispiel für das Duplizieren einer Website:
POST /feeds/site/example.com HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom"> <link rel="http://schemas.google.com/sites/2008#source" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <title>Copy of New Test Site</title> <summary>A newer site to hold memories</summary> </entry>
Die obige Anfrage würde die Website unter http://sites.google.com/a/example.com/source-site/ kopieren.
Wichtige Hinweise:
- Nur Websites und Websitevorlagen, deren Inhaber der authentifizierte Nutzer ist, können kopiert werden.
- Eine Websitevorlage kann auch kopiert werden. Eine Website ist eine Vorlage, wenn die Einstellung „Diese Website als Vorlage veröffentlichen“ auf der Seite mit den Google Sites-Einstellungen aktiviert ist.
- Sie können eine Website aus einer anderen Domain kopieren, sofern Sie auf der Quellwebsite als Inhaber aufgeführt sind.
Metadaten einer Website aktualisieren
Wenn Sie den Titel oder die Zusammenfassung einer Website aktualisieren möchten, senden Sie eine HTTP-PUT
an den edit
-Link eines Websiteeintrags.
Im folgenden Beispiel wird der Titel der vorherigen Website in New Test Site2
und die Beschreibung in Newer description
geändert.
PUT /feeds/site/example.com/source-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>New Test Site2</title> <summary>Newer description</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Category"/> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/source-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/source-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <sites:siteName>source-site</sites:siteName> </entry>
Kategorien hinzufügen
Hinweis: Diese Funktion ist nur für G Suite-Domains verfügbar.
G Suite-Domains auf Ihrer Domain enthalten Metadaten der Kategorie, mit denen Sie Websites innerhalb Ihrer Domain kategorisieren können. Senden Sie zum Hinzufügen oder Aktualisieren von Kategorie-Metadaten eine HTTP-PUT
an den edit
-Link Ihres Websiteeintrags, der ein category
-Tag enthält. Im folgenden Beispiel sehen Sie die fett gedruckte Zeile:
PUT /feeds/site/example.com/source-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>My Team website</title> <summary>This site contains contact information and a summary of major efforts our team owns</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Team Site"/> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/my-team-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/my-team-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <sites:siteName>my-team-site</sites:siteName> </entry>
In diesem Beispiel wird eine vorhandene Website bearbeitet und die Kategorie „Teamwebsite“ hinzugefügt.
Sie können auch mehrere Kategorien hinzufügen, indem Sie weitere <category>
-Tags hinzufügen. Im folgenden Beispiel sehen Sie die fett gedruckten Zeilen:
PUT /feeds/site/example.com/my-team-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/my-team-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>My Team website</title> <summary>This site contains contact information and a summary of major efforts our team owns</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Team Site/"> <category scheme="http://schemas.google.com/sites/2008#tag" term="Legal Department/"> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/my-team-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/my-team-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <sites:siteName>my-team-site</sites:siteName> </entry>
In diesem Beispiel werden zwei Kategorien hinzugefügt: „Team-Website“ und „Rechtsabteilung“.
Zuordnung von Webadressen
Mit Zuordnungen von Webadressen können Nutzer von Google Sites ihre eigenen Domains einer Google Sites-Website zuordnen. Beispielsweise kann http://www.mydomainsite.com
anstelle von http://sites.google.com/a/domain.com/mysite
verwendet werden. Je nachdem, wo Ihre Website gehostet wird, können Sie die Webadressen-Zuordnungen einer Website manuell ändern. Weitere Informationen finden Sie in diesem Hilfeartikel.
Webadressen-Zuordnungen einer Website abrufen
Rufen Sie den Websiteeintrag/Feed mit dem Parameter with-mappings=true
ab, um die Webadressen-Zuordnungen einer Website zurückzugeben:
GET /feeds/site/domainName?with-mappings=true HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> ... <entry gd:etag="W/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel='webAddressMapping' href='http://www.mysitemapping.com'> <link rel='webAddressMapping' href='http://www.mysitemapping2.com'> <link rel='webAddressMapping' href='http://www.myothermapping.org'> </entry> ... </feed>
Vorhandene Zuordnungen werden als link
s mit rel='webAddressMapping angezeigt. Im Beispiel oben gibt es drei webAddressMapping
s, die auf die Website http://sites.google.com/site/myOtherTestSite
verweisen.
Webadressenzuordnungen ändern
Hinweis: Bei GET/POST/PUT-Vorgängen sollte bei Zuordnungen von Webadressen der Parameter with-mappings=true
angegeben werden. Wenn der Parameter nicht vorhanden ist, werden in Websiteeinträgen (GET) keine webAddressMapping
s zurückgegeben oder beim Aktualisieren/Entfernen (PUT)-Zuordnungen eines Eintrags berücksichtigt.
Wenn Sie eine Zuordnung hinzufügen, aktualisieren oder löschen möchten, können Sie eine solche Verknüpfung einfach beim Erstellen neuer Websites oder beim Aktualisieren der Metadaten einer Website angeben, ändern oder entfernen. Der with-mappings=true
-Parameter muss im Website-Feed-URI enthalten sein.
Hinweis: Sie müssen Adressadministrator sein oder bei einer von der G Suite gehosteten Website ein Domainadministrator sein, um Adressenzuordnungen zu aktualisieren.
Mit der folgenden Anfrage wird beispielsweise die http://www.mysitemapping.com
-Zuordnung auf http://www.my-new-sitemapping.com
aktualisiert und der http://www.mysitemapping2.com
entfernt, indem der Link aus dem Eintrag entfernt wird:
PUT /feeds/site/domainName?with-mappings=true HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry gd:etag="W/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel='webAddressMapping' href='www.my-new-sitemapping.com'> <!-- missing mapping2 will be deleted --> <link rel='webAddressMapping' href='http://www.myothermapping.org'> </entry>
Hinweis: Webadressen können auch beim Erstellen oder Kopieren einer Website angegeben werden.
Aktivitätsfeed
Sie können die letzten Aktivitäten (Änderungen) einer Website abrufen, indem Sie den Aktivitätsfeed abrufen. Jeder Eintrag im Aktivitätsfeed enthält Informationen zu einer Änderung an der Website.
Senden Sie zum Abfragen des Aktivitätsfeeds eine HTTP-GET
an die URL des Aktivitätsfeeds:
https://sites.google.com/feeds/activity/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer gehosteten G Suite-Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website, der in der URL der Website angegeben ist (z.B. myCoolSite ). |
Beispielanfrage und -antwort:
GET /feeds/activity/site/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"> <id>https://sites.google.com/feeds/activity/site/siteName</id> <updated>2009-09-10T05:24:23.120Z</updated> <title>Activity</title> <link rel="alternate" type="text/html" href="http://sites.google.com/site/siteName/system/app/pages/recentChanges"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU4GQ3szfSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/940375996952876062</id> <updated>2009-09-10T03:38:42.585Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#deletion" label="deletion"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User deleted <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/940375996952876062"/> <author> <name>User</name> <email>user@gmail.com</email> </author> </entry> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU8DQn45fyl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/7165439066235480082</id> <updated>2009-09-10T03:37:53.027Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#edit" label="edit"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User2 edited <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/7165439066235480082"/> <author> <name>User</name> <email>user@gmail.com</email> </author> </entry> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU8AR3s4cSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/127448462987345884</id> <updated>2009-09-10T03:37:26.539Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#creation" label="creation"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User3 created <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/127448462987345884"/> <author> <name>User3</name> <email>user3@gmail.com</email> </author> </entry> </feed>
Hinweis: Um auf diesen Feed zugreifen zu können, müssen Sie ein Mitbearbeiter oder Inhaber der Website sein.
Ihr Client muss den richtigen Authorization
-Header senden und auf das Token verweisen, das unter Anfragen autorisieren abgerufen wird.
Überarbeitungsfeed
Senden Sie eine HTTP-GET
an den Überarbeitungslink des Eintrags, um den Überarbeitungsverlauf eines beliebigen Inhaltseintrags abzurufen:
https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer gehosteten G Suite-Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website, der in der URL der Website angegeben ist (z.B. myCoolSite ). |
Um den Überarbeitungs-Link für eine bestimmte Seite, einen bestimmten Kommentar, einen bestimmten Anhang oder ein Listenelement zu finden, rufen Sie zuerst den Eintrag aus dem Content-Feed mithilfe seiner CONTENT_ENTRY_ID ab. Der abgerufene Eintrag enthält dann eine <atom:link>
für den Überarbeitungsfeed.
Beispiel:
<link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/>
Beispielanfrage und -antwort:
GET /feeds/revision/domainName/siteName/CONTENT_ENTRY_ID HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID</id> <updated>2009-09-10T04:33:35.337Z</updated> <title>Revisions</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"CU4GQmA9WxNRFUg.""> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/2</id> <updated>2009-09-10T03:38:42.045Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Home</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Latest content here</div> </content> <link rel="alternate" type="text/html" href="http://sites.google.com/domainName/siteName/CONTENT_ENTRY_ID/system/app/pages/admin/compare?wuid=wuid%3Agx%3A4f67c7&rev1=2"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/2"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>home</sites:pageName> <sites:revision>2</sites:revision> </entry> <entry gd:etag="W/"CU8DQ388eSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/1</id> <updated>2009-09-10T03:37:52.171Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Home</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Older content here</div> </content> <link rel="alternate" type="text/html" href="http://sites.google.com/domainName/siteName/CONTENT_ENTRY_ID/system/app/pages/admin/compare?wuid=wuid%3Agx%3A4bc7&rev1=1"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/1"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>home</sites:pageName> <sites:revision>1</sites:revision> </entry> </feed>
Hinweis: Um auf diesen Feed zugreifen zu können, müssen Sie ein Mitbearbeiter oder Inhaber der Website sein.
Ihr Client muss den richtigen Authorization
-Header senden und auf das Token verweisen, das unter Anfragen autorisieren abgerufen wird.
Inhaltsfeed
Inhalte werden abgerufen
Im Content-Feed werden die aktuellen Inhalte einer Website aufgelistet. Senden Sie eine authentifizierte GET
-Anfrage an die folgende URL:
https://sites.google.com/feeds/content/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer gehosteten G Suite-Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website, der in der URL der Website angegeben ist (z.B. myCoolSite ). |
Das Ergebnis ist ein Feed, in dem die erste Seite der Inhaltseinträge auf der Website aufgeführt ist. Jeder Eintrag im Feed steht für einen anderen Inhaltstyp, z. B. webpage
, filecabinet
, attachment
, comment
usw. Das Element <category scheme="http://schemas.google.com/g/2005#kind">
bestimmt den Typ des Eintrags. Eine Liste der unterstützten kind
-Werte finden Sie im Referenzhandbuch.
Hinweis: Je nach den Freigabeberechtigungen der Website ist für diesen Feed möglicherweise eine Authentifizierung erforderlich.
Wenn die Website nicht öffentlich ist, muss Ihr Client den richtigen Authorization
-Header (wie im Beispiel oben) senden und auf das Token verweisen, das unter Anfragen autorisieren abgerufen wurde.
GET /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/content/domainName/siteName</id> <updated>2009-08-31T01:39:20.286Z</updated> <title>Content</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/batch""/> <link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"Ck8GQXk7fil7ImA9WxNSFk0.""> <id>https://sites.google.com/feeds/content/domainName/siteName/7322156894</id> <updated>2009-08-30T02:53:40.706Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-30T02:53:40.706Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Subpage</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Page html content here</div> </content> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/6492205817"/> <link rel="alternate" type="text" href="http://sites.google.com/site/siteName/subpage"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/7322156894"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/7322156894"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/7322156894"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>subpage</sites:pageName> <sites:revision>5</sites:revision> </entry> <entry gd:etag="W/"CkMBQH08fCl7ImA9WxNSFk0.""> <id>https://sites.google.com/feeds/content/domainName/siteName/5930635231</id> <updated>2009-08-30T02:47:31.374Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-30T02:47:31.374Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#listitem" label="listpage"/> <title/> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/5930635231"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:revision>1</sites:revision> <gs:field index="A" name="Issue/Feature">Implement cool feature X</gs:field> <gs:field index="B" name="Priority">P2</gs:field> <gs:field index="C" name="Owner"/> <gs:field index="D" name="Resolved"/> </entry> <entry gd:etag="W/"AkYHQ3ozcCl7ImA9WxJaE08.""> <id>https://sites.google.com/feeds/content/domainName/siteName/1265948545471894517</id> <updated>2009-08-03T19:35:32.488Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-03T19:35:32.488Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#filecabinet" label="filecabinet"/> <title>files</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Page html content here</div> </content> <link rel="alternate" type="text" href="https://sites.google.com/domainName/siteName/files"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/12671894517"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/12671894517"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/12671894517"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <gd:feedLink href="httpn://sites.google.com/feeds/content/domainName/siteName?parent=12671894517"/> <sites:pageName>files</sites:pageName> <sites:revision>1</sites:revision> </entry> ... </feed>
Hinweis: Dies sind nur die ersten Ergebnisse. Wenn du durch den gesamten Content-Feed blättern möchtest, folge dem Link „Weiter“ des Feeds:
<link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/>
Eine Erläuterung der allgemeinen Elemente in Atom finden Sie in der Referenz zum Google-Datenprotokoll.
Elemente, die eine bestimmte Messung für das klassische Sites API enthalten, werden unten beschrieben. Bestimmte Arten von Einträgen haben zusätzliche Attribute, die unten nicht aufgeführt sind. Ein listitem
-Eintrag kann beispielsweise <gs:field>
-Elemente haben, ein webpage
-Eintrag hingegen nicht.
Element | Beschreibung |
---|---|
<content ...> | Der innere Text ist der HTML-Text der Seite. Bei einigen Einträgen (z.B. Anhängen) enthält dieses Element ein src -Attribut, das auf die Datei verweist. |
<link rel="alternate" ...> | Link zur Seite oder zum Element in Google Sites. |
<link rel="http://schemas.google.com/sites/2008#revision" ...> | Das Attribut href verweist auf den Überarbeitungsfeed des Eintrags. |
<link rel="http://schemas.google.com/sites/2008#parent" ...> | Das href -Attribut verweist auf den übergeordneten Eintrag des Eintrags. |
<link rel="http://schemas.google.com/sites/2008#template" ...> | Das href -Attribut verweist auf die Vorlagenseite des Eintrags. |
<category scheme="http://schemas.google.com/g/2005#kind" ...> | label ist der Eintragstyp. |
<category term="http://schemas.google.com/g/2005#template" ...> | label=template , der den Eintrag angibt, ist eine Vorlage. |
<gd:feedLink> | Das href -Attribut verweist auf die untergeordneten Elemente des übergeordneten Elements. |
<sites:pageName> | Webspace-Name der Seite; entspricht dem Namen in der URL der Seite. |
<sites:revision> | Aktuelle Überarbeitungsnummer. |
Beispiele für Content-Feed-Suchanfragen
Sie können den Contentfeed mit einigen der standardmäßigen Google Data API-Abfrageparameter und den Parametern für die klassische Google Sites API durchsuchen. Weitere Informationen und eine vollständige Liste der unterstützten Parameter finden Sie im Referenzhandbuch.
Bestimmte Arten von Einträgen abrufen
Wenn Sie nur eine bestimmte Art von Eintrag abrufen möchten, verwenden Sie den Parameter kind
. In diesem Beispiel werden nur webpage
-Einträge zurückgegeben:
GET /feeds/content/domainName/siteName?kind=webpage
Wenn Sie mehr als einen Eintragstyp zurückgeben möchten, trennen Sie jeden kind
mit einem ','. In diesem Beispiel werden filecabinet
- und listpage
-Einträge zurückgegeben:
GET /feeds/content/domainName/siteName?kind=filecabinet,listpage
Alternativ können Sie das Standardformat für eine Google Data-Abfrage /-/category
anstelle des Parameters kind
verwenden:
GET /feeds/content/domainName/siteName/-/filecabinet|listpage
Seitenvorlagen abrufen
In diesem Beispiel werden nur template
Seiten zurückgegeben:
GET /feeds/content/domainName/siteName/-/template
So können Sie alle Eintragstypen zurückgeben und template
-Seiten einschließen:
GET /feeds/content/domainName/siteName/-/template|-template
Seite nach Pfad abrufen
Wenn Sie den relativen Pfad einer Seite innerhalb der Google Sites-Website kennen, können Sie diese Seite mit dem Parameter path
abrufen.
In diesem Beispiel würde die Seite unter http://sites.google.com/site/siteName/path/to/the/page
zurückgegeben:
GET /feeds/content/domainName/siteName?path=/path/to/the/page
Alle Einträge unter einer übergeordneten Seite abrufen
Wenn Sie die Eingabe-ID einer Seite kennen, können Sie den Parameter parent
verwenden, um gegebenenfalls alle untergeordneten Einträge abzurufen:
GET /feeds/content/domainName/siteName?parent=CONTENT_ENTRY_ID
Einschließlich Entwürfen oder gelöschten Einträgen
Verwenden Sie die Parameter include-drafts
oder include-deleted
, um Entwürfe oder gelöschte Einträge einzuschließen.
Dieses Beispiel enthält Entwurfseinträge im Content-Feed:
GET /feeds/content/domainName/siteName?include-drafts=true
Volltextsuche
Wenn Sie im gesamten Inhalt einer Website suchen möchten, verwenden Sie den Parameter q
, um eine Volltextsuche durchzuführen:
GET /feeds/content/domainName/siteName?q=Text%20I%20am%20looking%20for
Inhalte erstellen
Neue Inhalte (Webseiten, Listenseiten, Ordnerseiten, Ankündigungsseiten usw.) können durch Senden einer HTTP-POST
an den Inhaltsfeed erstellt werden:
https://sites.google.com/feeds/content/domainName/siteName
Eine Liste der unterstützten Eintragstypen finden Sie im Parameter kind
im Referenzhandbuch.
Neue Elemente / Seiten erstellen
In diesem Beispiel wird eine neue webpage
unter der obersten Ebene der Website erstellt, enthält XHTML für den Seitentext und legt als Titel der Überschrift "New WebPage Title" fest:
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 328 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>New Webpage Title</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">HTML body goes here</div> </content> </entry>
Wenn der Vorgang erfolgreich war, antwortet der Server mit einem 201 Created
und einer Kopie des Eintrags.
Elemente/Seiten unter benutzerdefinierten URL-Pfaden erstellen
Standardmäßig wird das vorherige Beispiel unter der URL http://sites.google.com/domainName/siteName/new-webpage-title
erstellt und hat die Seitenüberschrift „Neuer Webseitentitel“. Das heißt, <atom:title>
wird für die URL auf new-webpage-title
normalisiert.
Mit dem Element <sites:pageName>
kannst du den URL-Pfad einer Seite anpassen.
In diesem Beispiel wird eine neue filecabinet
mit der Seitenüberschrift "Dateispeicher" erstellt. Die Seite wird jedoch unter der URL http://sites.google.com/domainName/siteName/files
erstellt, indem das Element <sites:pageName>
angegeben wird.
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 393 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#filecabinet" label="filecabinet"/> <title>File Storage</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">A list of files is below.</div> </content> <sites:pageName>files</sites:pageName> </entry>
Der Server verwendet die folgenden Regeln zur Benennung von URL-Pfaden:
<sites:pageName>
, falls vorhanden. Mussa-z, A-Z, 0-9, -, _
erfüllen.<atom:title>
, darf nicht null sein, wenn „pageName“ nicht vorhanden ist. Bei der Normalisierung werden Leerzeichen auf „-“ zugeschnitten und minimiert und Zeichen entfernt, die nicht mita-z, A-Z, 0-9, -, _
übereinstimmen.
So wird beispielsweise „Custom_Page2“ vom Server akzeptiert.
Unterseiten erstellen
Fügen Sie zum Erstellen von untergeordneten Seiten (untergeordnete Seiten) unter einer übergeordneten Seite eine <link rel="http://schemas.google.com/sites/2008#parent">
in den neuen Atom-Eintrag ein. Legen Sie das Attribut href
des Links auf den Self-Link des übergeordneten Eintrags fest.
In diesem Beispiel wird unter der übergeordneten Ankündigungsseite mit der Eingabe-ID PARENT_ENTRY_ID
ein neuer announcement
mit der Überschrift „Ankündigung“ erstellt. XHTML-Inhalte für den Seitentext sind ebenfalls enthalten:
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 470 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#announcement" label="announcement"/> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/PARENT_ENTRY_ID"/> <title>announcement</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">This weekend. My place.</div> </content> </entry>
Seitenvorlagen
Seitenvorlagen erstellen
Der Vorgang zum Erstellen einer Seitenvorlage ist derselbe wie beim Erstellen neuer Elemente/Seiten bzw. Erstellen von untergeordneten Seiten. Der Unterschied besteht darin, dass für category
der Begriff „http://schemas.google.com/g/2005#template“ bzw. „template“ (Vorlage) hinzugefügt wird.
In diesem Beispiel wird eine neue webpage
-Vorlage erstellt.
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 464 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <category scheme="http://schemas.google.com/g/2005#labels" term="http://schemas.google.com/g/2005#template" label="template"/> <title>Webpage Template</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">This weekend. My place.</div> </content> </entry>
Seiten aus einer Vorlage erstellen
Ähnlich wie beim Erstellen von Seitenvorlagen können Sie eine neue Seite aus einer Vorlage instanziieren, indem Sie ein <link>
mit rel='http://schemas.google.com/sites/2008#template' einfügen, das auf den Self-Link einer Seitenvorlage verweist.
In diesem Beispiel wird eine neue filecabinet
-Seite aus einer vorhandenen Seitenvorlage erstellt, die einen Ordner enthält.
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 464 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#filecabinet" label="filecabinet"/> <title>File Cabinet Page From Template</title> <link rel='http://schemas.google.com/sites/2008#template' type='application/atom+xml' href='https://sites.google.com/feeds/content/domainName/siteName/ENTRY_ID'/> </entry>
Hinweis: Trotz einer Vorlage, die eine <category>
definiert, muss in Ihrem Eintrag eine enthalten sein. Wenn Sie ein <content>
-Element angeben, wird es vom Server abgelehnt.
Dateien werden hochgeladen
Genau wie in Google Sites können Sie mit der API Anhänge auf Ordnerseiten und in übergeordnete Seiten hochladen.
Zum Hochladen eines Anhangs an einen Elternteil senden Sie eine HTTP-POST
-Anfrage an die URL des Contentfeeds:
https://sites.google.com/feeds/content/domainName/siteName
Der Text POST
sollte eine mehrteilige MIME-Anfrage sein, um Dateiinhalte mit einer <atom:entry>
zu kombinieren, die die Metadaten des Anhangs enthält. <atom:entry>
sollte auf den Self-Link des übergeordneten Eintrags verweisen, um anzugeben, wo der Anhang erstellt wird.
Weitere Informationen finden Sie unter Unterseiten erstellen.
Anhänge werden hochgeladen
Hier ist ein Beispiel für das Hochladen einer PDF-Datei in einen Ordner mit der ID PARENT_ENTRY_ID
. Der Anhang wird mit dem Titel „PDF-Datei“ und der optionalen Beschreibung „HR-Paket“ erstellt.
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 7221984 Content-Type: multipart/related; boundary=END_OF_PART --END_OF_PART Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#attachment" label="attachment"/> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/PARENT_ENTRY_ID"/> <title>PDF File</title> <summary>HR packet</summary> </entry> --END_OF_PART Content-Type: application/pdf ... pdf contents here ... --END_OF_PART--
Wenn der Upload erfolgreich war, antwortet der Server mit einer 201 Created
und einer Kopie des neu erstellten Anhangseintrags.
Anhang in einen Ordner hochladen
Wenn Sie einen Anhang in einen vorhandenen Ordner in einem filecabinet
hochladen möchten, fügen Sie eine Kategorie hinzu, in der das Attribut "term" auf den Namen des Ordners festgelegt ist:
<category scheme="http://schemas.google.com/sites/2008#folder" term="FolderName">
Webanhänge
Webanhänge sind spezielle Anhänge. Grundsätzlich handelt es sich dabei um Links zu anderen Dateien im Web, die Sie Ihren Dateiablagen hinzufügen können. Diese Funktion ist analog zur Uploadmethode „Datei nach URL hinzufügen“ auf der Google Sites-Benutzeroberfläche.
Hinweis: Webanhänge können nur in einem Ordner erstellt werden. Sie können nicht auf andere Seitentypen hochgeladen werden.
In diesem Beispiel wird ein webattachment
unter dem Ordner erstellt, auf den die ID FILECABINET_ENTRY_ID
verweist.
Der Titel und die optionale Beschreibung sind auf „GoogleLogo“ bzw. „die schönen Farben“ festgelegt.
POST /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Type: application/atom+xml Content-Length: 531 <entry xmlns="http://www.w3.org/2005/Atom"> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webattachment" label="webattachment"/> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/FILECABINET_ENTRY_ID"/> <title>GoogleLogo</title> <summary>nice colors</summary> <content type="image/gif" src="http://www.google.com/images/logo.gif"></content> </entry>
POST
erstellt einen Link im Ordner des Nutzers, der auf das Bild unter „http://www.google.com/images/logo.gif“ verweist.
Inhalte aktualisieren
Die Metadaten (Titel, Seitenname usw.) und Seiteninhalte jeder Seite können mit einer einzigen PUT
-Anfrage an den edit
-Link bearbeitet werden.
Der Text der Anfrage sollte einen Atom-Eintrag enthalten, der die aktualisierte Seite beschreibt. Eine Ausnahme von dieser Regel bilden Anhänge, in denen nur die Metadaten des Anhangs aktualisiert werden können.
Wenn Sie den Inhalt der angehängten Datei ändern möchten, fügen Sie einfach die Rohdaten als Text einer PUT
-Anfrage an den edit-media
-Link des Anhangs hinzu. Sie können auch sowohl die Metadaten als auch die angehängte Datei mit einer mehrteiligen MIME-Anfrage aktualisieren.
Geben Sie den ETag-Wert des ursprünglichen Eintrags an, um sicherzustellen, dass die Aktualisierung nicht die Änderungen eines anderen Kunden überschreibt. Dazu geben Sie den ETag-Wert in einem HTTP-If-Match
-Header an oder nehmen das gd:etag
-Attribut des ursprünglichen Eintrags in den aktualisierten Eintrag auf. Wenn du den ETag-Wert des ursprünglichen Eintrags ermitteln möchtest, sieh dir das gd:etag
-Attribut des <entry>
-Elements an.
Bei Medieneinträgen ist das ETag der Medien möglicherweise im Attribut gd:etag
des Links edit-media
verfügbar.
Wenn Sie den Eintrag aktualisieren möchten, unabhängig davon, ob er seit dem Abrufen von einer anderen Person aktualisiert wurde, verwenden Sie If-Match: *
und fügen Sie das ETag nicht hinzu. Weitere Informationen zu ETags finden Sie im Referenzhandbuch für Google Data APIs.
Metadaten oder HTML-Inhalte eines Artikels aktualisieren
Zum Aktualisieren der Metadaten oder HTML-Inhalte eines Eintrags senden Sie eine HTTP-PUT
an den edit
-Link des Eintrags.
Im Folgenden finden Sie ein Beispiel für die Aktualisierung eines listpage
-Eintrags (dargestellt durch seine ID ENTRY_ID
) mit den folgenden Änderungen:
- Der Titel wird in „Aktualisierte Inhalte“ geändert
- Aktualisierter HTML-Inhalt
- Die erste Spaltenüberschrift der Liste wird in "Inhaber" geändert.
- Der URL-Pfad der Seite wird durch das Element
<sites:pageName>
geändert
PUT /feeds/content/domainName/siteName/ENTRY_ID Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 816 Content-Type: application/atom+xml <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CEEBRn0ymA9WxJWEUw.""> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#listpage" label="listpage"/> <title>Updated Title</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Updated Content</div> </content> <gs:worksheet name="listpage"/> <gs:header row="1"/> <gs:data startRow="2"> <gs:column index="A" name="Owner"/> <gs:column index="B" name="Decription"/> <gs:column index="C" name="Completed"/> </gs:data> <sites:pageName>newPagePath</sites:pageName> </entry>
Hinweis: Der Eintrag, der vom Server zurückgegeben wird, enthält mehr Elemente als im Beispiel oben.
Inhalt eines Anhangs ersetzen
Im folgenden Beispiel wird der Inhalt eines Anhangs ersetzt, die Metadaten bleiben aber unverändert. Da die Anfrage neue Inhalte enthält, wird der Link edit-media
des Anhangs verwendet.
PUT /feeds/media/content/domainName/siteName/ATTACHMENT_ENTRY_ID Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Length: 70581 Content-Type: application/msword ... doc contents here ...
Metadaten und Inhalte von Anhängen aktualisieren
Im Folgenden finden Sie ein Beispiel für die gleichzeitige Aktualisierung der Metadaten eines Anhangs und seines Inhalts. Der Name des Anhangs wird in „Neuer Titel“ geändert und der Inhalt wird durch den Inhalt einer ZIP-Datei ersetzt. Da die Anfrage neuen Dateiinhalt enthält, wird der Link edit-media
des Anhangs verwendet.
Wenn du das ETag für die Metadaten hinzufügst, wird dadurch auch ein impliziter If-Match
für den Medieninhalt angegeben, da sich bei jeder Aktualisierung des Medieninhalts das ETag der Metadaten ändert.
PUT /feeds/media/content/domainName/siteName/ATTACHMENT_ENTRY_ID Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> Content-Type: multipart/related; boundary="END_OF_PART" --END_OF_PART Content-Type: application/atom+xml <?xml version='1.0' encoding='UTF-8'?> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="BxAaTxRZAyp7ImBq"> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/ATTACHMENT_ENTRY_ID"/> <title>New Title</title> </entry> --END_OF_PART Content-Type: application/zip ... zip contents here ... --END_OF_PART
Inhalte löschen
Wenn Sie ein Element von einer Google Sites-Website entfernen möchten, rufen Sie zuerst den Eintrag ab und senden Sie dann eine DELETE
-Anfrage an die edit
-URL des Eintrags. Dies ist dieselbe URL, die auch beim Aktualisieren der Metadaten oder der HTML-Inhalte eines Artikels verwendet wird.
DELETE /feeds/content/domainName/siteName/ENTRY_ID Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> If-Match: <ETag or * here>
Wenn der Eintrag erfolgreich gelöscht wurde, antwortet der Server mit dem HTTP-Fehler 200 OK
.
Wenn Sie sicherstellen möchten, dass Sie keinen Eintrag löschen, der seit dem Abrufen durch einen anderen Client geändert wurde, fügen Sie einen HTTP-If-Match
-Header ein, der den ETag-Wert des ursprünglichen Eintrags enthält. Sie können den ETag-Wert des ursprünglichen Eintrags ermitteln, indem Sie das gd:etag
-Attribut des <entry>
-Elements prüfen.
Wenn Sie den Eintrag löschen möchten, unabhängig davon, ob er seit dem Abrufen von einer anderen Person aktualisiert wurde, verwenden Sie If-Match: *
und fügen Sie das ETag nicht ein. In diesem Fall müssen Sie den Eintrag vor dem Löschen nicht abrufen.
Weitere Informationen zu ETags finden Sie im Referenzhandbuch für Google Data APIs.
Anhänge herunterladen
Sobald Sie einen Anhangeintrag haben, können Sie die Datei herunterladen. Dazu senden Sie ein authentifiziertes HTTP-GET
an den <content>
-src-Link des Eintrags. Beispiel für einen Inhaltslink einer PDF-Datei:
<content type="application/pdf" src="http://502377765-a-google-com-s-sites.googlegroups.com/feeds/media/content/domainName/siteName/678942036"/>
ACL-Feed
Freigabeberechtigungen (ACLs)
Jeder ACL-Eintrag im ACL-Feed stellt eine Zugriffsrolle für eine bestimmte Entität dar, entweder einen Nutzer, eine Gruppe von Nutzern, eine Domain oder den Standardzugriff (eine öffentliche Website). Einträge werden nur für Entitäten mit explizitem Zugriff angezeigt. Für jede E-Mail-Adresse wird auf dem Freigabebildschirm der Google Sites-Benutzeroberfläche im Bereich „Personen mit Zugriff“ ein Eintrag angezeigt. Daher werden Domainadministratoren nicht angezeigt, obwohl sie impliziten Zugriff auf eine Website haben.
Rollen
Das Rollenelement stellt eine Zugriffsebene dar, die eine Entität haben kann. Das gAcl:role
-Element hat vier mögliche Werte:
- reader: Dies ist ein Betrachter (entspricht Lesezugriff).
- writer: Ein Mitbearbeiter (entspricht Lese-/Schreibzugriff).
- owner: normalerweise der Administrator der Website (entspricht Lese-/Schreibzugriff).
Sucher
Das Element „scope“ steht für die Entität mit dieser Zugriffsebene. Es gibt fünf mögliche Typen von gAcl:scope
-Elementen:
- user – E-Mail-Adresse, z. B. „nutzer@gmail.com“.
- group: Die E-Mail-Adresse einer Google-Gruppe, z. B. "gruppe@domain.com".
- domain: ein G Suite-Domainname, z.B. "domain.com"
- invite: Dieser Nutzer wurde bereits zur Website eingeladen, aber noch nicht zur ACL der Website hinzugefügt. (Nicht verfügbar, wenn gdata 1.3 oder niedriger angegeben ist.)
- default – Es gibt nur einen möglichen Bereich des Typs "default", der keinen Wert hat (z. B.
<gAcl:scope type="default">
). Dieser spezielle Bereich steuert den Zugriff, den Nutzer standardmäßig auf einer öffentlichen Website haben.
Hinweis: Für Domains kann der Wert gAcl:role
nicht auf „Inhaberzugriff“ festgelegt werden. Sie können nur Leser oder Autoren sein.
Informationen zum Umfang der Einladung
Die API gibt den Einladungsumfang zurück, wenn Sie der ACL einen oder mehrere Nutzer hinzufügen, die noch kein Google-Konto haben. Die API gibt eine URL mit einem eingebetteten Token zurück, das Sie den eingeladenen Nutzern zur Verfügung stellen müssen, damit sie die Einladung annehmen können.
Mit dieser Methode können Sie Nutzer ohne Google-Konto einladen, ohne vorher zu wissen, welche E-Mail-Adresse sie verwenden möchten. Solange Nutzer auf die Einladungs-URL mit dem eingebetteten Token klicken, können sie sich mit einer beliebigen E-Mail-Adresse für den Zugriff registrieren. Unter Umständen können mehrere Nutzer diese URL verwenden, um die Einladung anzunehmen. Das kann hilfreich sein, wenn Sie einen Nutzer oder eine Gruppe von Nutzern einladen.
Hinweis:Der Bereich „Einladen“ ist nur in gdata-Version 1.4 und höher verfügbar. Dies funktioniert nicht, wenn Sie explizit 1.3 oder eine ältere Version angeben.
ACL-Feed abrufen
Mit dem ACL-Feed können Sie die Freigabeberechtigungen einer Website steuern. Der Zugriff ist über den folgenden URI möglich:
https://sites.google.com/feeds/acl/site/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer gehosteten G Suite-Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website, der in der URL der Website angegeben ist (z.B. myCoolSite ). |
Jeder Eintrag im Websitefeed enthält einen Link zu diesem Feed:
<link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName"/>
Um die Freigabeberechtigungen einer Website abzurufen, senden und senden Sie GET
an den ACL-Feed-URI:
GET /feeds/acl/site/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here>
Der Server antwortet mit einem 200 OK
und einem Feed mit ACL-Einträgen:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/acl/site/domainName/siteName</id> <updated>2009-12-03T22:01:05.963Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <title>Acl</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry> <id>https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserA%40gmail.com</id> <updated>2009-12-03T22:01:05.963Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-03T22:01:05.963Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserA%40google.com"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserA%40google.com"/> <gAcl:scope type="user" value="userA@google.com"/> <gAcl:role value="owner"/> </entry> <entry> <id>https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserB%40gmail.com</id> <updated>2009-12-03T22:01:05.963Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-03T22:01:05.963Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserB%40gmail.com"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserB%40gmail.com"/> <gAcl:scope type="user" value="userB@gmail.com"/> <gAcl:role value="writer"/> </entry> <entry> <id>https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserC%40gmail.com</id> <updated>2009-12-03T22:01:05.963Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-03T22:01:05.963Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserC%40gmail.com"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3AuserC%40gmail.com"/> <gAcl:scope type="user" value="userC@gmail.com"/> <gAcl:role value="reader"/> </entry> ... </feed>
Website freigeben
Der ACL-Feed akzeptiert Anfragen vom Typ GET
, POST
und PUT
. Wenn Sie eine neue Rolle in den ACL-Feed einfügen möchten, senden Sie einfach eine POST
-Anfrage an den ACL-Feed der Website.
Hinweis: Bestimmte Freigabe-ACLs sind möglicherweise nur möglich, wenn die Domain so konfiguriert ist, dass solche Berechtigungen zulässig sind, z.B. wenn die Freigabe außerhalb der Domain für G Suite-Domains aktiviert ist.
In diesem Beispiel wird der Website ein neuer Mitbearbeiter (Autor) hinzugefügt:
POST /feeds/acl/site/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl='http://schemas.google.com/acl/2007'> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/acl/2007#accessRule'/> <gAcl:role value='writer'/> <gAcl:scope type='user' value='new_writer@example.com'/> </entry>
Bei erfolgreicher Einfügung werden ein 201 Created
und der neue Eintrag zurückgegeben:
<entry> <id>https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com</id> <updated>2009-12-03T22:01:05.963Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-03T22:01:05.963Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com"/> <gAcl:role value='writer'/> <gAcl:scope type='user' value='new_writer@example.com'/> </entry>
Nutzer über den Bereich „Einladen“ einladen
Wenn Sie Nutzer hinzufügen, die keine Google-Konten haben, gibt die API eine URL zurück, die Sie an die Nutzer senden müssen, die Sie einladen möchten. Nachdem sie auf die URL geklickt haben, können sie auf die Website zugreifen, indem sie sich mit einem bestehenden Konto anmelden oder ein neues erstellen.
Bei einer erfolgreichen Einladung werden ein 201 Created
und ein neuer Eintrag zurückgegeben, der die URL enthält, die Sie an den Nutzer übergeben müssen:
<entry> <id>https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_invite%40example.com</id> <updated>2009-12-03T22:01:05.963Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-03T22:01:05.963Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/acl/2007#accessRule"/> <link rel="http://schemas.google.com/sites/2008#invite" type="text/html"href="domainName/siteName?invite=inviteToken"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_invite%40example.com"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_invite%40example.com"/> <gAcl:role value='writer'/> <gAcl:scope type='invite' value='new_invite%40example.com'/> </entry>
Freigabe auf Gruppen- und Domainebene
Ähnlich wie bei der Freigabe einer Website für einen einzelnen Nutzer können Sie eine Website für eine Google-Gruppe oder eine G Suite-Domain freigeben. Die erforderlichen scope
-Werte sind unten aufgeführt.
Freigabe an eine Gruppen-E-Mail-Adresse:
<gAcl:scope type="group" value="group@example.com"/>
Für die gesamte Domain freigeben:
<gAcl:scope type="domain" value="example.com"/>
Die Freigabe auf Domainebene wird nur für G Suite-Domains und nur für die Domain unterstützt, auf der die Website gehostet wird. Beispiel: http://sites.google.com/a/domain1.com/siteA kann nur die gesamte Website für domain1.com freigeben, nicht domain2.com. Websites, die nicht auf einer G Suite-Domain gehostet werden (z.B. http://sites.google.com/site/siteB), können keine Domains einladen.
Freigabeberechtigungen ändern
Ändern Sie den Eintrag nach Bedarf und geben Sie eine HTTP-PUT
-Anfrage an den edit
-Link des Eintrags aus, der einfach ein <link>
-Element ist, dessen Attribut „rel“ auf „edit“ festgelegt ist. Im vorherigen Beispiel lautet der Link:
<link rel='edit' type='application/atom+xml' href='https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com'/>
Mit dem Snippet unten wird die Rolle von new_writer@gmail.com
in „reader“ geändert:
PUT /feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl='http://schemas.google.com/acl/2007'> <category scheme='http://schemas.google.com/g/2005#kind' term='http://schemas.google.com/acl/2007#accessRule'/> <gAcl:role value='reader'/> <gAcl:scope type='user' value='new_writer@gmail.com'/> </entry>
Freigabeberechtigungen werden entfernt
Um die Berechtigungen für diesen Nutzer zu entfernen, senden Sie eine DELETE
-Anfrage an denselben edit
-Link, der für die PUT
-Anfrage verwendet wurde:
DELETE /feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here>
Der Server antwortet mit 200 OK
.
Besondere Themen
Feed oder Eintrag noch einmal abrufen
Wenn Sie einen bereits abgerufenen Feed oder Eintrag abrufen möchten, können Sie die Effizienz verbessern, indem Sie den Server anweisen, die Liste oder den Eintrag nur zu senden, wenn er sich seit dem letzten Abruf geändert hat.
Senden Sie für diesen bedingten Abruf eine HTTP-GET
-Anfrage, die einen HTTP-If-None-Match
-Header enthält. Geben Sie im Header das ETag der Liste oder des Eintrags an. Sie finden ihn im Attribut gd:etag
des Elements <feed>
oder <entry>
des Elements.
Beispiel für den Websitefeed:
GET /feeds/site/domainName/myOtherTestSite/ GData-Version: 1.4 If-None-Match: W/"Ck8GQXk7fil7ImA9WxNSFk0."
Wenn der Server diese Anfrage erhält, prüft er, ob das von Ihnen angeforderte Element dasselbe ETag wie das von Ihnen angegebene ETag hat. Wenn die ETags übereinstimmen, bleibt das Element unverändert und der Server gibt entweder den HTTP-Statuscode 304 Not Modified
oder den HTTP-Statuscode 412 Precodition Failed
zurück. Beide Statuscodes zeigen an, dass das bereits abgerufene Element aktuell ist.
Wenn die ETags nicht übereinstimmen, wurde das Element seit der letzten Anforderung geändert und der Server gibt das Element zurück.
Weitere Informationen zu ETags finden Sie im Referenzhandbuch für Google Data APIs.
Batch-Verarbeitung
Mit Batchanfragen kann der Client mehrere Vorgänge in einer Anfrage ausführen, statt jeden Vorgang einzeln einzureichen.
Der Server führt so viele der angeforderten Änderungen wie möglich aus und gibt Statusinformationen zurück, mit denen Sie den Erfolg oder Misserfolg jedes Vorgangs bewerten können. Weitere Informationen zur Batchverarbeitung in der Google Data API finden Sie unter Batchverarbeitung mit Google Data APIs.
Jeder Vorgang in einem Batchfeed hat ein <id>-Element, mit Ausnahme von Einfügevorgängen.
Dieses Element entspricht der Anfrage-URL, die Sie normalerweise beim Aktualisieren, Löschen oder Abfragen des Contentfeeds verwenden würden.
Wenn Sie beispielsweise eine Änderung aktualisieren, setzen Sie <id> auf den Link edit
für den betreffenden Eintrag.
Er wird verwendet, um den Zieleintrag zu identifizieren. Neue Einträge haben keine <id>-Elemente, da sie noch nicht erstellt wurden. Sie können stattdessen einen Stringwert in <batch:id> definieren, der in der Antwort des Servers zurückgegeben und für die Suche nach dem entsprechenden Eintrag verwendet wird.
Erstellen Sie für eine Batchanfrage einen Batchfeed und senden Sie eine HTTP-POST
an den Batchlink des Feeds:
<link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/batch"/>
Das folgende Beispiel zeigt, wie Sie einen Webseiteneintrag abfragen, einfügen, aktualisieren und löschen:
POST /feeds/content/site/siteName/batch HTTP/1.1 Host: sites.google.com Accept: */* If-Match: * GData-Version: 1.4 Authorization: <your authorization header here> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:batch='http://schemas.google.com/gdata/batch'> <entry> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id> <batch:operation type="query"/> </entry> <entry> <batch:id>1</batch:id> <batch:operation type='insert'/> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>New Webpage1</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">HTML body goes here</div> </content> </entry> <entry gd:etag=""YDgpeyI.""> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID2</id> <batch:operation type='update'/> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Updated Title for Webpage2</title> ... <batch:operaation type="update"/> </entry> <entry gd:etag=""YassseyI.""> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID3</id> <batch:operation type='delete'/> </entry> </feed>
Der zurückgegebene Feed enthält für jeden Vorgang einen Ergebniseintrag:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006"
xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id>
<updated>2009-11-10T22:44:08.369Z</updated>
<title>Batch Feed</title>
<entry gd:etag=""YDgpsdfeyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id>
<published>2009-08-31T04:42:45.251Z</published>
<updated>2009-10-25T22:46:13.729Z</updated>
<app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-25T22:46:13.671Z</app:edited>
<category scheme="http://schemas.google.com/g/2005#kind"
term="http://schemas.google.com/sites/2008#webpage" label="webpage"/>
<title>Page Title</title>
...
<batch:status code="200" reason="Success"/>
<batch:operation type="query"/>
</entry>
<entry gd:etag=""YDsseyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID4</id>
<published>2009-11-10T22:44:08.531Z</published>
<updated>2009-11-10T22:44:08.560Z</updated>
<app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-10T22:44:08.531Z</app:edited>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/>
<title>New Webpage1</title>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox">
<tbody>
<tr>
<td class="sites-layout-tile sites-tile-name-content-1">
<div>HTML body goes here</div>
</td>
</tr>
</tbody>
</table>
</div>
</content>
...
<batch:id>1</batch:id>
<batch:status code="201" reason="Created"/>
<batch:operation type="insert"/>
</entry>
<entry gd:etag=""YDkpeyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID2</id>
<updated>2009-11-10T22:44:09.296Z</updated>
<title>Updated Title for Webpage2</title>
...
<sites:pageName>updated-title-for-webpage2</sites:pageName>
<sites:revision>5</sites:revision>
<batch:status code="200" reason="Success"/>
<batch:operation type="update"/>
</entry>
<entry>
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID3</id>
<title>Deleted</title>
<content>Deleted</content>
<batch:status code="200" reason="Success"/>
<batch:operation type="delete"/>
</entry>
</feed>