Mit der klassischen Google Sites API können Ihre Anwendungen auf Inhalte innerhalb einer Google Sites-Website zugreifen, sie veröffentlichen und ändern. Darüber hinaus kann Ihre Anwendung eine Liste der letzten Aktivitäten anfordern, den Überarbeitungsverlauf abrufen und Anhänge und Dateien hoch- bzw. herunterladen.
Zielgruppe
In diesem Dokument wird davon ausgegangen, dass Sie mit den allgemeinen Konzepten hinter dem Google Data APIs-Protokoll vertraut sind.
Dieses Dokument richtet sich an Programmierer, die Client-Anwendungen schreiben möchten, die mit Google Sites interagieren können. Es enthält eine Reihe von Beispielen für grundlegende Daten-API-Interaktionen unter Verwendung von XML/HTTP mit Rohdaten. Nachdem Sie dieses Dokument gelesen haben, Weitere Informationen zur Interaktion mit der API über unsere Clientbibliotheken finden Sie in den sprachenspezifische Beispiele finden Sie in den anderen Leitfäden in der linken Navigationsleiste.
Weitere Informationen zu den Materialien in diesem Handbuch
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 das 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 Anforderung an das Google Sites Data API sollten Sie die Version 1.4 angeben. So geben Sie eine Versionsnummer an:
Verwende den HTTP-Header GData-Version
:
GData-Version: 1.4
Wenn Sie keine HTTP-Header festlegen können, haben Sie auch die Möglichkeit, v=1.4
als Abfrageparameter in der URL anzugeben. Die
Nach Möglichkeit wird ein HTTP-Header bevorzugt.
Hinweis: Die Clientbibliotheken stellen die entsprechenden Versionsheader automatisch bereit.
Verwenden Sie den Abfrageparameter v=1.4
, wenn Sie eine Clientbibliothek nutzen.
Website-Feed
Mit dem Website-Feed können die Google Sites-Websites aufgelistet werden, die einem Nutzer gehören oder für die er Leseberechtigungen hat und den Titel einer vorhandenen Website ändern. Für G Suite-Domains kann damit auch ein für die gesamte Website.
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 von G Suite gehosteten 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 in alphabetischer Reihenfolge aufgelistet.
Neue Websites erstellen
Hinweis: Diese Funktion ist nur für G Suite-Domains verfügbar.
Neue Websites können durch Erstellen eines HTTP-POST
im Website-Feed bereitgestellt werden. 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>
Mit der obigen Anfrage würde eine neue Google Sites-Website mit dem Slate erstellt werden Design in der G Suite-Domain example.com
.
Die URL der Website wäre http://sites.google.com/a/beispiel.de/quellwebsite/.
Wenn die Website erfolgreich erstellt wurde, antwortet der Server mit 201 Created
.
Der Antworteintrag enthält vom Server hinzugefügte Elemente, z. B. einen Link zur
site, einen Link zum ACL-Feed der Website, den Namen, den Titel und die Zusammenfassung der Website.
<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>
Website kopieren
Hinweis: Diese Funktion ist nur für G Suite-Domains verfügbar.
Eine vorhandene Website kann genauso dupliziert werden wie beim Erstellen einer neuen Website. Im Atom-Eintrag der POST
-Anfrage
Fügen Sie ein <link>
ein, bei dem rel='source'
auf den Website-Feed der zu kopierenden Website verweist. Jede Website mit
enthält diesen Link. Hier ist 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>
Mit der obigen Anforderung wird die Website unter http://sites.google.com/a/beispiel.de/quellwebsite/ kopiert.
Wichtige Hinweise:
- Nur Websites und Websitevorlagen, die dem authentifizierten Nutzer gehören, können kopiert werden.
- Eine Websitevorlage kann auch kopiert werden. Eine Website ist eine Vorlage, wenn die Option „Diese Website als Vorlage veröffentlichen“ Einstellung auf der Google Sites-Einstellungsseite aktiviert ist.
- Sie können Websites von einer anderen Domain kopieren, sofern Sie auf der Quellwebsite als Inhaber aufgeführt sind.
Metadaten einer Website aktualisieren
Wenn du den Titel oder die Zusammenfassung einer Website aktualisieren möchtest, sende eine HTTP-PUT
-Anfrage an den edit
-Link eines Websiteeintrags.
Im folgenden Beispiel wird beispielsweise der Titel der vorherigen Website in New Test Site2
geändert und
Beschreibung zu Newer description
.
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.
Websites von G Suite für Ihre Domain enthalten Kategoriemetadaten, die für die Kategorisierung von Websites innerhalb Ihrer Domain nützlich sind. Wenn du Metadaten zu Kategorien hinzufügen oder aktualisieren möchtest, sende eine HTTP-PUT
-Anfrage an den edit
-Link deines 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 zusätzliche <category>
-Tags hinzufügen. Im folgenden Beispiel sehen Sie die fett formatierten 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: „Teamwebsite“ und „Rechtsabteilung“
Webadressen-Zuordnungen
Mithilfe von Webadressen-Zuordnungen können Google Sites-Nutzer ihre eigenen Domains einer Google Sites-Website zuordnen. Beispiel: http://www.mydomainsite.com
kann anstelle von http://sites.google.com/a/domain.com/mysite
verwendet werden. Je nachdem, wo Ihre Website gehostet wird, können Sie
die Zuordnungen der Webadresse einer Website. Weitere Informationen finden Sie in diesem Hilfeartikel.
Webadressen-Zuordnungen einer Website abrufen
Um die Webadressen-Zuordnungen für eine Website zurückzugeben, rufen Sie den Websiteeintrag bzw. -feed mit dem Parameter with-mappings=true
ab:
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 mit rel='webAddressMapping' als link
s angezeigt. Im Beispiel oben
Es gibt drei webAddressMapping
s, die auf die Website verweisen.
http://sites.google.com/site/myOtherTestSite
.
Webadressen-Zuordnungen ändern
Hinweis: Für alle GET/POST/PUT-Vorgänge muss der Parameter with-mappings=true
angegeben werden.
mit Webadressen-Zuordnungen. Fehlt der Parameter, werden webAddressMapping
-Werte in Websiteeinträgen (GET) nicht zurückgegeben und nicht berücksichtigt
beim Aktualisieren/Entfernen (PUT) von Zuordnungen aus einem Eintrag.
Wenn Sie eine Zuordnung hinzufügen, aktualisieren oder löschen möchten, müssen Sie beim Erstellen neuer Websites einfach einen solchen Link angeben, ändern oder entfernen oder
die Metadaten einer Website aktualisieren. Der Parameter with-mappings=true
muss in der URI des Website-Feeds enthalten sein.
Hinweis: Um Adresszuordnungen zu aktualisieren, müssen Sie Websiteadministrator oder Domainadministrator (im Falle einer von G Suite gehosteten Website) sein.
Mit der folgenden Anfrage wird beispielsweise die http://www.mysitemapping.com
-Zuordnung zu http://www.my-new-sitemapping.com
aktualisiert.
und entfernt http://www.mysitemapping2.com
, 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: Die Zuordnung von Webadressen kann auch beim Erstellen/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, die an der Website vorgenommen wurde.
Senden Sie zum Abfragen des Aktivitätsfeeds eine HTTP-GET
-Anfrage an die Aktivitätsfeed-URL:
https://sites.google.com/feeds/activity/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website in der URL der Website gefunden werden (z.B. myCoolSite ). |
Beispiel für eine Anfrage 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: Damit Sie auf diesen Feed zugreifen können, müssen Sie Mitbearbeiter oder Inhaber der Website sein.
Ihr Client muss den richtigen Authorization
-Header senden und auf das abgerufene Token verweisen
finden Sie unter Anfragen autorisieren.
Überarbeitungsfeed
Wenn Sie den Überarbeitungsverlauf eines Inhaltseintrags abrufen möchten, senden Sie eine HTTP-GET
an den Überarbeitungslink des Eintrags:
https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website in der URL der Website gefunden werden (z.B. myCoolSite ). |
Um den Überarbeitungslink für eine bestimmte Seite, einen Kommentar, einen Anhang oder ein Listenelement zu finden, rufen Sie zunächst den Eintrag aus
Content-Feed unter Verwendung der CONTENT_ENTRY_ID abgerufen. Der abgerufene Eintrag enthält ein <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"/>
Beispiel für eine Anfrage 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: Damit Sie auf diesen Feed zugreifen können, müssen Sie Mitbearbeiter oder Inhaber der Website sein.
Ihr Client muss den richtigen Authorization
-Header senden und auf das abgerufene Token verweisen
finden Sie unter Anfragen autorisieren.
Inhaltsfeed
Inhalte werden abgerufen
Der Content-Feed listet den aktuellen Content einer Website auf. Senden Sie eine authentifizierte GET
-Anfrage an folgende URL:
https://sites.google.com/feeds/content/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website in der URL der Website gefunden werden (z.B. myCoolSite ). |
Das Ergebnis ist ein Feed, in dem die erste Seite mit Content-Einträgen auf der Website aufgeführt ist. Jeder Feedeintrag stellt eine andere Art von Inhaltseintrag dar.
z. B. webpage
, filecabinet
, attachment
, comment
usw.
Das <category scheme="http://schemas.google.com/g/2005#kind">
-Element bestimmt den Eintragstyp. Weitere Informationen finden Sie im Leitfaden.
finden Sie eine Liste der unterstützten kind
-Werte.
Hinweis: Für diesen Feed ist möglicherweise eine Authentifizierung erforderlich. abhängig von den Freigabeberechtigungen der Website.
Wenn die Website nicht öffentlich ist, muss Ihr Kunde den richtigen Authorization
-Header senden (wie im Beispiel oben).
und verweisen Sie auf das Token, das Sie unter Anfragen autorisieren erhalten haben.
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 Sie durch den gesamten Content-Feed blättern möchten, folgen Sie "next" des Feeds Link:
<link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/>
Eine Erläuterung der gängigen Atom-Elemente finden Sie in der Referenz zum Datenprotokoll von Google.
Elemente, die eine bestimmte Bedeutung für die klassische Google Sites API haben, werden unten beschrieben. Bestimmte Arten von Einträgen haben zusätzliche Eigenschaften (nicht unten aufgeführt), während
andere nicht. Ein listitem
-Eintrag kann beispielsweise <gs:field>
-Elemente enthalten, ein webpage
-Eintrag jedoch nicht.
Element | Beschreibung |
---|---|
<content ...> | Der innere Text ist der HTML-Haupttext 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 Attribut href verweist auf den übergeordneten Eintrag des Eintrags. |
<link rel="http://schemas.google.com/sites/2008#template" ...> | Das Attribut href 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 gibt an, dass der Eintrag eine Vorlage ist. |
<gd:feedLink> | Das Attribut href verweist auf die untergeordneten Elemente des übergeordneten Elements des Eintrags. |
<sites:pageName> | Webspace-Name der Seite dem Namen in der URL der Seite entspricht. |
<sites:revision> | Aktuelle Versionsnummer. |
Beispiele für Suchanfragen in Content-Feeds
Sie können den Content-Feed mithilfe einiger standardmäßiger Suchparameter für die Google Data API durchsuchen. und die für die klassische Google Sites API. Ausführlichere Informationen und eine vollständige Liste der unterstützten Parameter finden Sie in der Referenzhandbuch.
Bestimmte Eintragstypen abrufen
Wenn Sie nur einen bestimmten Eintragstyp 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 mehrere Eintragstypen zurückgeben möchten, trennen Sie die einzelnen kind
durch ein „,“. Dieses Beispiel gibt filecabinet
und
listpage
Einträge:
GET /feeds/content/domainName/siteName?kind=filecabinet,listpage
Alternativ können Sie das Standardformat für /-/category
-Abfragen für Google-Daten anstelle des kind
-Parameters verwenden:
GET /feeds/content/domainName/siteName/-/filecabinet|listpage
Seitenvorlagen werden abgerufen
In diesem Beispiel werden nur template
Seiten zurückgegeben:
GET /feeds/content/domainName/siteName/-/template
Um alle Eintragstypen zurückzugeben und template
-Seiten einzuschließen, verwenden Sie:
GET /feeds/content/domainName/siteName/-/template|-template
Seite über Pfad abrufen
Wenn Sie den relativen Pfad einer Seite innerhalb der Google Sites-Website kennen, können Sie diese bestimmte Seite mit dem Parameter path
abrufen.
In diesem Beispiel wird die Seite
http://sites.google.com/site/siteName/path/to/the/page
:
GET /feeds/content/domainName/siteName?path=/path/to/the/page
Alle Einträge unter einer übergeordneten Seite abrufen
Wenn Sie die Eintrags-ID einer Seite kennen, können Sie mit dem Parameter parent
alle untergeordneten Einträge abrufen (falls vorhanden):
GET /feeds/content/domainName/siteName?parent=CONTENT_ENTRY_ID
Auch Entwürfe oder gelöschte Einträge
Wenn Sie Entwürfe oder gelöschte Einträge einbeziehen möchten, verwenden Sie den Parameter include-drafts
bzw. include-deleted
.
Dieses Beispiel enthält Entwurfseinträge im Content-Feed:
GET /feeds/content/domainName/siteName?include-drafts=true
Volltextsuche
Wenn Sie den gesamten Content einer Website durchsuchen 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 eines HTTP-POST
erstellt werden.
Content-Feed hinzugefügt:
https://sites.google.com/feeds/content/domainName/siteName
Eine Liste der unterstützten Eintragstypen finden Sie im Referenzhandbuch im Parameter kind
.
Neue Elemente / Seiten erstellen
In diesem Beispiel wird eine neue webpage
unter der obersten Ebene der Website erstellt, die XHTML für den Seitentext enthält.
und legt den Titel der Überschrift auf "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 einer 201 Created
und einer Kopie des Eintrags.
Elemente/Seiten unter benutzerdefinierten URL-Pfaden erstellen
Standardmäßig wird das vorherige Beispiel unter der URL erstellt.
http://sites.google.com/domainName/siteName/new-webpage-title
und
haben die Seitenüberschrift „Neuer Webseitentitel“. Das heißt, <atom:title>
wird für die URL auf new-webpage-title
normalisiert.
Wenn Sie den URL-Pfad einer Seite anpassen möchten, können Sie das Element <sites:pageName>
festlegen.
In diesem Beispiel wird ein neues filecabinet
mit der Seitenüberschrift „Dateispeicher“ erstellt, aber die Seite wird erstellt
unter der URL http://sites.google.com/domainName/siteName/files
durch
und geben das <sites:pageName>
-Element an.
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 wendet für die Benennung des URL-Pfads einer Seite die folgenden Rangfolgeregeln an:
<sites:pageName>
, falls vorhanden. Mussa-z, A-Z, 0-9, -, _
erfüllen.<atom:title>
, darf nicht null sein, wenn pageName nicht vorhanden ist. Normalisierung ist das Kürzen und Minimieren von Leerzeichen in „-“. und Zeichen entfernen, die nicht mita-z, A-Z, 0-9, -, _
übereinstimmen.
Beispiel: „Custom_Page2“ die vom Server akzeptiert wird.
Unterseiten erstellen
Um Unterseiten (untergeordnete Seiten) unter einer übergeordneten Seite zu erstellen, fügen Sie ein <link rel="http://schemas.google.com/sites/2008#parent">
in Ihr
neuer Atom-Eintrag. Legen Sie für das Attribut href
des Links den Self-Link des übergeordneten Eintrags fest.
In diesem Beispiel wird eine neue announcement
mit der Überschrift „announcement“ (Ankündigung) unter einer übergeordneten Mitteilungsseite mit Eintrag erstellt.
ID PARENT_ENTRY_ID
. Der XHTML-Inhalt für den Seitentext ist 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 entspricht dem zum Erstellen neuer Elemente/Seiten und
Erstellen von Unterseiten. Der Unterschied besteht darin, dass category
mit Begriff und Label auf "http://schemas.google.com/g/2005#template" gesetzt ist.
und 'Vorlage'.
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. zeigend
zum Self-Link einer Seitenvorlage.
In diesem Beispiel wird eine neue filecabinet
-Seite aus einer vorhandenen Seitenvorlage erstellt, die einen Ordner definiert.
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: Obwohl eine Vorlage, die ein <category>
definiert, auch eine in Ihrem
ist immer noch erforderlich. Wenn du ein <content>
-Element einfügst, wird es vom Server abgelehnt.
Hochladen von Dateien
Wie in Google Sites können Sie mit der API Anhänge auf Dateiablageseiten und übergeordnete Seiten hochladen.
Wenn Sie einen Anhang für ein übergeordnetes Element hochladen möchten, senden Sie eine HTTP-POST
-Anfrage an die Content-Feed-URL:
https://sites.google.com/feeds/content/domainName/siteName
Der POST
-Text sollte eine mehrteilige MIME-Anfrage sein, um Dateiinhalte mit
Ein <atom:entry>
mit den Metadaten des Anhangs. <atom:entry>
sollte auf
Den Self-Link des übergeordneten Eintrags, um anzugeben, wo der Anhang erstellt wird.
Weitere Informationen finden Sie unter Unterseiten erstellen.
Anhänge werden hochgeladen
Hier sehen Sie ein Beispiel für das Hochladen einer PDF-Datei in eine Dateiablage mit der ID PARENT_ENTRY_ID
. Der Anhang wird erstellt
mit dem Titel „PDF-Datei“ und eine (optionale) Beschreibung: "HR-Paket".
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 ist, 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, geben Sie eine Kategorie mit dem Begriff „term“ an. -Attribut auf den Namen des Ordners festgelegt:
<category scheme="http://schemas.google.com/sites/2008#folder" term="FolderName">
Webanhänge
Webanhänge sind spezielle Arten von Anhängen. Im Wesentlichen handelt es sich um Links zu anderen Dateien im Web. die Sie Ihren Ordnerlisten hinzufügen können. Diese Funktion entspricht der Funktion „Datei per URL hinzufügen“. in der Google Sites-Benutzeroberfläche.
Hinweis: Webanhänge können nur in einer Dateiablage erstellt werden. Sie können nicht auf andere Arten von Seiten 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“ festgelegt. und 'nice color' [schöne Farben].
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>
Mit POST
wird im Dateiablage des Nutzers ein Link erstellt, der auf das Bild unter http://www.google.com/images/logo.gif verweist.
Inhalte aktualisieren
Die Metadaten (title, pageName usw.) und Seiteninhalte jeder Seite können mit einer einzigen PUT
-Anfrage an den edit
-Link bearbeitet werden.
Der Anfragetext sollte einen Atom-Eintrag mit einer Beschreibung der aktualisierten Seite enthalten. Die Ausnahme von dieser Regel ist ein Anhangseintrag, in dem der Eintrag nur zum Aktualisieren der Metadaten des Anhangs verwendet werden kann.
Wenn Sie den Inhalt der angehängten Datei ändern möchten, fügen Sie einfach die Rohdaten als Text einer PUT
-Anfrage an den
Link edit-media
des Anhangs. Du kannst auch die Metadaten und den Inhalt der angehängten Datei gleichzeitig aktualisieren, indem du eine
Mehrteilige MIME-Anfrage.
Fügen Sie den ETag-Wert des ursprünglichen Eintrags ein, um sicherzustellen, dass durch die Aktualisierung die Änderungen eines anderen Clients nicht überschrieben werden. Dazu können Sie
Bereitstellung des ETag-Werts in einem HTTP-If-Match
-Header oder durch Einfügen des gd:etag
-Attributs des ursprünglichen Eintrags in den
aktualisierter Eintrag. Um den ETag-Wert des ursprünglichen Eintrags zu ermitteln, prüfen Sie das Attribut gd:etag
des <entry>
-Elements.
Bei Medieneinträgen ist das ETag der Medien möglicherweise im Attribut gd:etag
des Links edit-media
verfügbar.
Wenn Sie den Eintrag unabhängig davon aktualisieren möchten, ob eine andere Person ihn seit dem Abruf aktualisiert hat, verwenden Sie
If-Match: *
und ohne das ETag. Weitere Informationen über ETags finden Sie in der
Referenzhandbuch für Google Data APIs
Metadaten oder HTML-Inhalte eines Elements aktualisieren
Zum Aktualisieren der Metadaten oder HTML-Inhalte eines Eintrags senden Sie eine HTTP-PUT
an den edit
-Link des Eintrags.
Im folgenden Beispiel wird ein listpage
-Eintrag (dargestellt durch seine ID ENTRY_ID
) mit den folgenden Änderungen aktualisiert:
- 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
<sites:pageName>
-Element 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 vom Server zurückgegebene Eintrag enthält mehr Elemente als das obige Beispiel.
Inhalt eines Anhangs ersetzen
Im folgenden Beispiel wird der Inhalt eines Anhangs ersetzt, aber die Metadaten bleiben unverändert. Da der Antrag neue Inhalte enthält,
Der Link edit-media
des Anhangseintrags wird 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 Beispiel werden die Metadaten eines Anhangs und der Inhalt eines Anhangs gleichzeitig aktualisiert. Der Name des Anhangs wird aktualisiert
zu „Neuer Titel“ und ihr Inhalt wird durch den Inhalt einer ZIP-Datei ersetzt. Da die Anfrage neue Dateiinhalte enthält, enthält der Parameter
Der Link edit-media
des Anhangseintrags wird verwendet.
Beachten Sie, dass das Hinzufügen des ETag für die Metadaten auch eine implizite If-Match
für die Medieninhalte liefert, da jede Aktualisierung an
der Medieninhalt bewirkt, dass sich
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 du ein Element von einer Google Sites-Website entfernen möchtest, rufe zuerst den Eintrag ab und sende dann eine DELETE
-Anfrage an die edit
-URL des Eintrags. Dies ist dieselbe URL, die zum Aktualisieren der Metadaten oder HTML-Inhalte eines Elements 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-Statuscode 200 OK
.
Wenn Sie sicherstellen möchten, dass Sie einen Eintrag nicht löschen, der seit dem Abruf von einem anderen Client geändert wurde, fügen Sie einen
HTTP-Header If-Match
, der den ETag-Wert des ursprünglichen Eintrags enthält. Sie können den ETag-Wert des ursprünglichen Eintrags bestimmen, indem Sie
Untersuchen des gd:etag
-Attributs des <entry>
-Elements.
Wenn Sie den Eintrag unabhängig davon löschen möchten, ob eine andere Person ihn seit dem Abruf aktualisiert hat, verwenden Sie
If-Match: *
und ohne das ETag. In diesem Fall müssen Sie den Eintrag vor dem Löschen nicht abrufen.
Weitere Informationen über ETags finden Sie im Referenzhandbuch für Google Data APIs.
Anhänge herunterladen
Wenn Sie einen Anhangseintrag haben, können Sie die Datei herunterladen, indem Sie eine authentifizierte HTTP-GET
-Anfrage an den
<content>
-src-Link. Beispiel für den 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
Übersicht über Freigabeberechtigungen (ACLs)
Jeder ACL-Eintrag im ACL-Feed repräsentiert eine Zugriffsrolle einer bestimmten Entität, entweder eines Nutzers, einer Gruppe von Nutzern, einer Domain, oder den Standardzugriff (eine öffentliche Website). Einträge werden nur für Entitäten mit explizitem Zugriff angezeigt – es wird ein Eintrag angezeigt für jede E-Mail-Adresse in der Spalte "Personen mit Zugriff" auf dem Freigabebildschirm der Google Sites-Benutzeroberfläche. Domainadministratoren werden daher nicht angezeigt, obwohl sie impliziten Zugriff auf eine Website haben.
Rollen
Das Rollenelement stellt eine Zugriffsebene dar, die eine Entität haben kann. Für das Element gAcl:role
gibt es vier mögliche Werte:
- reader – Ein Viewer (entspricht Lesezugriff).
- writer – ein Mitbearbeiter (entspricht Lese-/Schreibzugriff).
- owner – in der Regel der Websiteadministrator (entspricht Lese-/Schreibzugriff)
Ebenen
Das Bereichselement stellt die Entität mit dieser Zugriffsebene dar. Es gibt fünf mögliche Typen des gAcl:scope
-Elements:
- user – Wert für eine E-Mail-Adresse, z. B. „nutzer@gmail.com“.
- group – eine E-Mail-Adresse einer Google-Gruppe, z. B. „gruppe@domain.com“.
- domain – ein G Suite-Domainname, z. B. „domain.com“.
- invite – Ein Nutzer, der zur Website eingeladen wurde, aber noch nicht zur ACL für die Website hinzugefügt wurde. (Nicht verfügbar, wenn gdata 1.3 oder niedriger angegeben ist.)
- Standard: Es gibt nur einen Bereich vom Typ „Standard“, der keinen Wert hat.
(z. B.
<gAcl:scope type="default">
). Dieser bestimmte Bereich steuert den Zugriff, den jeder Nutzer standardmäßig hat auf einer öffentlichen Website.
Hinweis: Domains dürfen nicht den Wert gAcl:role
haben.
auf „owner“ festgelegt können nur Leser oder
Autoren sein.
Informationen zur Einladung Umfang.
Die API gibt den Einladungsbereich 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 diese die Einladung annehmen können.
Mit dieser Einladungsmethode können Sie Nutzer einladen, die Google nicht verwenden, ohne zu wissen, welche E-Mail-Adresse sie verwenden möchten. Wenn Nutzer auf die Einladungs-URL mit dem eingebetteten Token klicken, können sie sich mit einer beliebigen E-Mail-Adresse für den Zugriff anmelden. Außerdem können mehrere Nutzer diese URL verwenden, um die Einladung anzunehmen. Dies kann nützlich sein, wenn Sie einen Nutzer oder eine Gruppe von Nutzern einladen.
Hinweis:Die „Einladung“ ist erst ab gdata-Version 1.4 verfügbar. Dies funktioniert nicht, wenn Sie explizit 1.3 oder niedriger angeben.
ACL-Feed abrufen
Der ACL-Feed kann verwendet werden, um die Freigabeberechtigungen einer Website zu steuern, und ist über den folgenden URI zugänglich:
https://sites.google.com/feeds/acl/site/domainName/siteName
Feed parameter | Beschreibung |
---|---|
domainName | „site “ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com ). |
siteName | Der Webspace-Name Ihrer Website in der URL der Website gefunden werden (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 Sie eine HTTP-Anfrage 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 GET
-, POST
- und PUT
-Anfragen. Um eine neue Rolle in den ACL-Feed einzufügen, 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 konfiguriert ist. um diese Berechtigungen zuzulassen, z.B. wenn die Freigabe außerhalb der Domain für G Suite-Domains aktiviert ist usw.
Im folgenden 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 einer erfolgreichen 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 per „Einladung“ einladen Umfang
Wenn Sie Nutzer hinzufügen, die kein Google-Konto haben, gibt die API eine URL zurück, die Sie den Nutzern zur Verfügung stellen müssen, die Sie einladen möchten. Nachdem sie auf die URL geklickt haben, können sie sich mit einem bestehenden Konto anmelden oder ein neues erstellen, um auf die Website zuzugreifen.
Bei einer erfolgreichen Einladung werden ein 201 Created
und ein neuer Eintrag mit der URL zurückgegeben, 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
So wie beim Freigeben einer Website für einen einzelnen Nutzer können Sie eine Website für mehrere
Google-Gruppe oder G Suite-Domain. Die erforderlichen scope
-Werte sind unten aufgeführt.
Freigabe für eine Gruppen-E-Mail-Adresse:
<gAcl:scope type="group" value="group@example.com"/>
Freigabe für eine ganze Domain:
<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, in der die Website gehostet wird. Beispielsweise kann http://sites.google.com/a/domain1.com/siteA nur die gesamte Website für domain1.com freigeben, nicht für domain2.com. Für Websites, die nicht in einer G Suite-Domain gehostet werden (z.B. http://sites.google.com/site/siteB), können keine Domains eingeladen werden.
Freigabeberechtigungen ändern
Um einen ACL-Eintrag zu aktualisieren, ändern Sie ihn nach Bedarf und senden Sie eine HTTP-PUT
-Anfrage an den
edit
des Eintrags, der einfach
ein <link>
-Element, dessen 'rel' auf "edit" gesetzt ist. Für das vorherige Beispiel lautet dieser Link:
<link rel='edit' type='application/atom+xml' href='https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com'/>
Durch das folgende Snippet wird die Rolle von new_writer@gmail.com
in „Leser“ 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 bereits abgerufene Feeds oder Einträge abrufen möchten, verbessern Sie die Effizienz, indem Sie angeben, um die Liste oder den Eintrag nur dann zu senden, wenn sie sich seit dem letzten Abruf geändert hat.
Für diese Art des bedingten Abrufs senden Sie eine HTTP-GET
-Anfrage, die eine HTTP-
If-None-Match
-Header. Geben Sie in der Kopfzeile das ETag der Liste oder des Eintrags an. Dieses finden Sie unter
Das Attribut gd:etag
des <feed>
- oder <entry>
-Elements.
Beispiel für die Verwendung des Website-Feeds:
GET /feeds/site/domainName/myOtherTestSite/ GData-Version: 1.4 If-None-Match: W/"Ck8GQXk7fil7ImA9WxNSFk0."
Wenn der Server diese Anfrage erhält, überprüft er, ob das angeforderte Element dasselbe ETag wie
das angegebene ETag. Stimmen die ETags überein, hat sich das Element nicht geändert und der Server gibt entweder eine
HTTP 304-Statuscode Not Modified
oder HTTP-Statuscode 412 Precodition Failed
. Beides
zeigen die Statuscodes an, dass der bereits abgerufene Artikel aktuell ist.
Wenn die ETags nicht übereinstimmen, wurde das Element seit Ihrer letzten Anforderung geändert und der Server gibt das Element zurück.
Weitere Informationen über ETags finden Sie im Referenzhandbuch für Google Data APIs.
Batch-Verarbeitung
Mit Batchanfragen kann Ihr Client mehrere Vorgänge in einer Anfrage ausführen, anstatt jeden Vorgang einzeln zu senden.
Der Server führt so viele der angeforderten Änderungen wie möglich durch und gibt Statusinformationen zurück, mit denen Sie um den Erfolg oder Misserfolg jedes Vorgangs zu beurteilen. Weitere Informationen zur Batchverarbeitung in der Google Data API Siehe Batch-Verarbeitung mit Google Data APIs
Jeder Vorgang in einem Batch-Feed hat ein <id>-Element, mit Ausnahme von Einfügevorgängen.
Dieses Element ist mit der Anfrage-URL identisch, die Sie normalerweise beim Aktualisieren, Löschen oder Abfragen des Content-Feeds verwenden.
Wenn Sie beispielsweise eine Änderung aktualisieren, setzen Sie die <id> des betreffenden Eintrags auf den edit
-Link.
Damit wird der Zieleintrag identifiziert. Neue Einträge verfügen nicht über <id>-Elemente, da sie
wurden noch nicht erstellt. Sie können stattdessen einen Stringwert in <batch:id> definieren, der dann
zurückgegeben und zum Suchen des entsprechenden Eintrags verwendet.
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>