Protokollleitfaden

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:

  1. 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.
  2. 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.
  3. Wenn deine Anwendung Zugriff auf Nutzerdaten benötigt, bittet sie Google um einen bestimmten Zugriffsbereich.
  4. Dem Nutzer wird von Google ein Zustimmungsbildschirm angezeigt, auf dem er gebeten wird, deine Anwendung dazu zu autorisieren, einige seiner Daten abzufragen.
  5. Wenn der Nutzer zustimmt, erhält deine Anwendung von Google ein kurzlebiges Zugriffstoken.
  6. Die Anwendung fordert Nutzerdaten an, wobei das Zugriffstoken an die Anfrage angehängt wird.
  7. 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.

Nach oben

Version angeben

Bei jeder Anfrage 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 alternativ 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 automatisch die passenden Versionsheader bereit. Verwenden Sie den Abfrageparameter v=1.4, wenn Sie eine Clientbibliothek nutzen.

Nach oben

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 parameterBeschreibung
domainNamesite“ 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/&quot;CkUAQH4_eil7I2A9WxNaFk4.&quot;">
  <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/&quot;DkQGQHczfA9WxNaFk4.&quot;">
  <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/&quot;DEECR38l7I2A9WxNaF0Q.&quot;">
  <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/&quot;DEECR38l7I2A9WxNaF0Q.&quot;">
  <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/&quot;DEECR38l7I2A9WxNaF0Q.&quot;">
  <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/&quot;DEECR38l7I2A9WxNaF0Q.&quot;">
  <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/&quot;DkQGQHczfA9WxNaFk4.&quot;">
  <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 links angezeigt. Im Beispiel oben Es gibt drei webAddressMappings, 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/&quot;DkQGQHczfA9WxNaFk4.&quot;">
  <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.

Nach oben

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 parameterBeschreibung
domainNamesite“ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com).
siteNameDer 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/&quot;CU4GQ3szfSl7ImA9WxNRFUg.&quot;">
<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/&quot;CU8DQn45fyl7ImA9WxNRFUg.&quot;">
  <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/&quot;CU8AR3s4cSl7ImA9WxNRFUg.&quot;">
  <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.

Nach oben

Ü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 parameterBeschreibung
domainNamesite“ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com).
siteNameDer 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/&quot;CU4GQmA9WxNRFUg.&quot;">
  <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&amp;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/&quot;CU8DQ388eSl7ImA9WxNRFUg.&quot;">
  <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&amp;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 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.

Nach oben

Inhaltsfeed

Inhalte werden abgerufen

Der Content-Feed listet den aktuellen Inhalt einer Website auf. Senden Sie eine authentifizierte GET-Anfrage an folgende URL:

https://sites.google.com/feeds/content/domainName/siteName
Feed parameterBeschreibung
domainNamesite“ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com).
siteNameDer 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/&quot;Ck8GQXk7fil7ImA9WxNSFk0.&quot;">
  <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/&quot;CkMBQH08fCl7ImA9WxNSFk0.&quot;">
  <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/&quot;AkYHQ3ozcCl7ImA9WxJaE08.&quot;">
  <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.

ElementBeschreibung
<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 auszuführen:

GET /feeds/content/domainName/siteName?q=Text%20I%20am%20looking%20for

Nach oben



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:

  1. <sites:pageName>, falls vorhanden. Muss a-z, A-Z, 0-9, -, _ erfüllen.
  2. <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 mit a-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.

Dateien hochladen

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.

Nach oben



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/&quot;CEEBRn0ymA9WxJWEUw.&quot;">
  <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

Nach oben



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.

Nach oben



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"/>

Nach oben

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 sie 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 parameterBeschreibung
domainNamesite“ oder die Domain Ihrer von G Suite gehosteten Domain (z.B. example.com).
siteNameDer 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>

Nach oben

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 gesamte 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.

Nach oben

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 &lt;id&gt;-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 &lt;id&gt; des betreffenden Eintrags auf den edit-Link. Damit wird der Zieleintrag identifiziert. Neue Einträge verfügen nicht über &lt;id&gt;-Elemente, da sie wurden noch nicht erstellt. Sie können stattdessen einen String-Wert in &lt;batch:id&gt; 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="&quot;YDgpeyI.&quot;">
    <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="&quot;YassseyI.&quot;">
    <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="&quot;YDgpsdfeyI.&quot;">
  <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="&quot;YDsseyI.&quot;">
  <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="&quot;YDkpeyI.&quot;">
  <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>

Nach oben