Il 22 novembre 2016 è stata lanciata una versione ricostruita di Sites. L'API Sites non può accedere ai siti creati con questa versione o modificarli, ma può comunque accedere alla versione classica di Sites.

Guida ai protocolli

L'API Google Sites consente alle applicazioni di accedere, pubblicare e modificare i contenuti all'interno di un sito di Google Sites. L'applicazione può inoltre richiedere un elenco delle attività recenti, recuperare la cronologia delle revisioni e caricare/scaricare allegati e file.

pubblico

Questo documento presuppone che tu abbia compreso le idee generali alla base del protocollo API dei dati di Google.

Questo documento è destinato ai programmatori che intendono scrivere applicazioni client in grado di interagire con Google Sites. Fornisce una serie di esempi di interazioni di base delle API di dati che utilizzano XML/HTTP non elaborati, con spiegazioni. Dopo aver letto questo documento, puoi scoprire di più sull'interazione con l'API utilizzando le nostre librerie client leggendo gli esempi specifici delle lingue disponibili nelle altre guide nella barra di navigazione a sinistra.

Per un riferimento al materiale in questa guida, consulta la guida di riferimento.

Autorizzazione delle richieste

Quando la tua applicazione richiede dati utente non pubblici, deve includere un token di autorizzazione. Il token, inoltre, identifica l'applicazione per Google.

Informazioni sui protocolli di autorizzazione

La tua applicazione deve utilizzare il protocollo OAuth 2.0 per autorizzare le richieste. Non sono supportati altri protocolli di autorizzazione. Se la tua applicazione utilizza Accedi con Google, alcuni aspetti dell'autorizzazione vengono gestiti automaticamente.

Autorizzazione delle richieste con OAuth 2.0

Le richieste all'API di dati di Google Sites relative ai dati utente non pubblici devono essere autorizzate da un utente autenticato.

I dettagli della procedura di autorizzazione, o "flusso", per il protocollo OAuth 2.0 variano a seconda del tipo di applicazione che stai scrivendo. La seguente procedura generale si applica a tutti i tipi di applicazione:

  1. Quando crei la tua applicazione, la registri utilizzando la console API di Google. Quindi, Google fornisce informazioni che ti saranno necessarie in un secondo momento, ad esempio un ID client e un client secret.
  2. Attiva l'API di dati di Google Sites nella console API di Google. (Se l'API non è elencata nella console API, salta questo passaggio.)
  3. Quando la tua applicazione vuole accedere ai dati dell'utente, chiede a Google un particolare ambito di accesso.
  4. Google mostra una schermata di consenso all'utente, chiedendo di autorizzare l'applicazione a richiedere dei dati.
  5. Se l'utente approva, Google fornisce alla tua applicazione un token di accesso di breve durata.
  6. L'applicazione richiede i dati utente, allegando il token di accesso alla richiesta.
  7. Se Google ritiene validi la richiesta e il token, restituisce i dati richiesti.

Alcuni flussi includono passaggi aggiuntivi, come l'uso di token di aggiornamento per acquisire nuovi token di accesso. Per informazioni dettagliate sui flussi per vari tipi di applicazioni, consulta la documentazione relativa al protocollo OAuth 2.0 di Google.

Ecco le informazioni sull'ambito OAuth 2.0 per l'API Google Sites Data:

https://sites.google.com/feeds/

Per richiedere l'accesso utilizzando il protocollo OAuth 2.0, l'applicazione richiede le informazioni relative all'ambito e le informazioni che Google fornisce quando registri la tua applicazione (ad esempio l'ID client e il client secret).

Torna all'inizio

Specificare una versione

Ogni richiesta all'API di dati di Sites deve specificare una versione 1.4. Per specificare un numero di versione, utilizza l'intestazione HTTP GData-Version:

GData-Version: 1.4

In alternativa, se non puoi impostare intestazioni HTTP, puoi specificare v=1.4 come parametro di ricerca nell'URL. Tuttavia, se possibile, è preferibile utilizzare l'intestazione HTTP.

Nota: le librerie client forniscono automaticamente le intestazioni della versione appropriate, quindi non utilizzare il parametro di query v=1.4 quando utilizzi una libreria client.

Torna all'inizio

Feed del sito

Il feed del sito può essere utilizzato per elencare i siti Google di cui un utente è proprietario o che dispone delle autorizzazioni di visualizzazione e per modificare il titolo di un sito esistente. Per i domini G Suite, può essere utilizzato anche per creare o copiare un intero sito.

Elenco dei siti

Per elencare i siti a cui un utente ha accesso, invia una richiesta GET autenticata al seguente URL:

https://sites.google.com/feeds/site/domainName
Parametro feedDescrizione
domainName'site' o il dominio del dominio ospitato da G Suite (ad es. example.com).

La risposta conterrà un feed con un elenco di siti:

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>

I siti sono elencati in ordine alfabetico.

Creare nuovi siti

Nota: questa funzionalità è disponibile solo per i domini G Suite.

È possibile eseguire il provisioning di nuovi siti inserendo un feed POST HTTP nel feed dei siti, ad esempio:

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>

La richiesta precedente creerà un nuovo sito Google con il tema 'slate' nel dominio G Suite example.com. L'URL del sito sarà http://sites.google.com/a/example.com/sito-origine/.

Se il sito viene creato correttamente, il server risponderà con 201 Created. La voce di risposta conterrà elementi aggiunti dal server, ad esempio un link al sito, un link al feed ACL del sito, il nome del sito, il titolo e il riepilogo.

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

Copiare un sito

Nota: questa funzionalità è disponibile solo per i domini G Suite.

Un sito esistente può essere duplicato nello stesso modo in cui crea un nuovo sito. Tuttavia, nella voce Atom della richiesta POST, includi un <link> con rel='source' che rimandi al feed del sito da copiare. Questo sito che è stato copiato avrà questo link. Ecco un esempio per la duplicazione di un sito:

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>

La richiesta riportata sopra copia il sito all'indirizzo http://sites.google.com/a/example.com/source-site/.

Punti importanti:

  • È possibile copiare solo i siti e i modelli di sito di proprietà dell'utente autenticato.
  • Puoi anche copiare un modello di sito. Un sito è un modello se l'impostazione "Pubblica questo sito come modello" è selezionata nella pagina delle impostazioni di Google Sites.
  • Puoi copiare un sito da un altro dominio, in attesa di comparire come proprietario sul sito di origine.

Aggiornamento dei metadati di un sito

Per aggiornare il titolo o il riepilogo di un sito, invia un PUT HTTP al link edit di una voce di sito. Ad esempio, il seguente esempio aggiornerà il titolo del sito precedente a New Test Site2 e la relativa descrizione a 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>

Aggiungere le categorie

Nota: questa funzionalità è disponibile solo per i domini G Suite.

G Suite per i tuoi siti del dominio include metadati delle categorie utili per la classificazione dei siti all'interno del tuo dominio. Per aggiungere o aggiornare i metadati della categoria, invia un link HTTP PUT alla voce del tuo sito's edit che include un tag category. Vedi la linea in grassetto nell'esempio seguente:

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 questo esempio viene modificato un sito esistente e viene aggiunta la categoria "Sito del team".

Puoi anche aggiungere più categorie aggiungendo altri tag <category>. Vedi le righe in grassetto nell'esempio seguente:

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 questo esempio vengono aggiunte due categorie: "Sito del team" e "Dipartimento legale".

Mappature di indirizzi web

Le mappature degli indirizzi web consentono agli utenti di Sites di mappare i propri domini a un sito Google. Ad esempio, http://www.mydomainsite.com può essere utilizzato al posto di http://sites.google.com/a/domain.com/mysite. A seconda di dove è ospitato il sito, puoi modificare manualmente le mappature degli indirizzi web di un sito. Per ulteriori informazioni, consulta il nostro articolo del Centro assistenza.

Recupero di mappature di indirizzi web di un sito

Per restituire le mappature degli indirizzi web per un sito, recupera la voce/il feed del sito con il parametro with-mappings=true:

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>

Le mappature esistenti verranno visualizzate come link con relsql#39;webAddressMapping'. Ad esempio, nell'esempio sopra riportato sono presenti tre webAddressMapping che rimandano al sito http://sites.google.com/site/myOtherTestSite.

Modifica delle mappature degli indirizzi web

Nota: tutte le operazioni GET/POST/PUT devono specificare il parametro with-mappings=true durante l'utilizzo delle mappature degli indirizzi web. Se il parametro non è presente, i parametri webAddressMapping non verranno restituiti nelle voci del sito (GET) né saranno presi in considerazione durante l'aggiornamento o la rimozione delle mappature da una voce.

Per aggiungere, aggiornare o eliminare una mappatura, puoi semplicemente specificare, modificare o rimuovere questo link durante la creazione di nuovi siti o l'aggiornamento dei metadati di un sito. Il parametro with-mappings=true deve essere incluso nell'URI del feed del sito. Nota: per aggiornare le mappature degli indirizzi, devi essere un amministratore di sito o un amministratore di dominio nel caso di un sito ospitato in G Suite.

Ad esempio, la richiesta qui sotto aggiorna la mappatura di http://www.mysitemapping.com a http://www.my-new-sitemapping.com e rimuove la http://www.mysitemapping2.com, escludendo il link dalla voce:

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>

Tieni presente che le mappature degli indirizzi web possono essere specificate anche al momento della creazione/copia di un sito.

Torna all'inizio

Feed attività

Puoi recuperare l'attività recente di un sito (modifiche) recuperando il feed delle attività. Ogni voce nel feed attività contiene informazioni su una modifica apportata al sito.

Per inviare una query sul feed di attività, invia un elemento GET HTTP all'URL del feed di attività:

https://sites.google.com/feeds/activity/domainName/siteName
Parametro feedDescrizione
domainName'site' o il dominio del dominio ospitato da G Suite (ad es. example.com).
siteNameIl nome dello spazio web del tuo sito, indicato nell'URL del sito (ad es. myCoolSite).

Esempio di richiesta e risposta:

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>

Nota: per accedere a questo feed è necessario essere un collaboratore o un proprietario del sito. Il tuo client deve inviare l'intestazione Authorization corretta e fare riferimento al token ottenuto in Autorizzazione delle richieste.

Torna all'inizio

Feed di revisione

Per recuperare la cronologia delle revisioni di qualsiasi voce di contenuti, invia un GET HTTP al link di revisione della voce:

https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID
Parametro feedDescrizione
domainName'site' o il dominio del dominio ospitato da G Suite (ad es. example.com).
siteNameIl nome dello spazio web del tuo sito, indicato nell'URL del sito (ad es. myCoolSite).

Per trovare il link delle revisioni per una determinata pagina/commento/allegato/elenco articoli, innanzitutto recupera la voce dal feed dei contenuti utilizzando il suo CONTENT_ENTRY_ID. La voce recuperata conterrà un elemento <atom:link> al feed di revisione. Ad esempio:

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

Esempio di richiesta e risposta:

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>

Nota: per accedere a questo feed è necessario essere un collaboratore o un proprietario del sito. Il tuo client deve inviare l'intestazione Authorization corretta e fare riferimento al token ottenuto in Autorizzazione delle richieste.

Torna all'inizio

Feed di contenuti

Recupero dei contenuti in corso...

Nel feed dei contenuti sono elencati i contenuti attuali di Sites. Invia una richiesta GET autenticata al seguente URL:

https://sites.google.com/feeds/content/domainName/siteName
Parametro feedDescrizione
domainName'site' o il dominio del dominio ospitato da G Suite (ad es. example.com).
siteNameIl nome dello spazio web del tuo sito, indicato nell'URL del sito (ad es. myCoolSite).

Il risultato è un feed che elenca la prima pagina di voci di contenuti sul sito. Ogni voce nel feed rappresenta un tipo diverso di voce di contenuti, ad esempio webpage, filecabinet, attachment, comment e così via. L'elemento <category scheme="http://schemas.google.com/g/2005#kind"> determina il tipo di voce. Consulta la guida di riferimento per un elenco di valori per l'assistenza kind.

Nota: questo feed può o meno richiedere l'autenticazione, in base alle autorizzazioni di condivisione del sito. Se il sito non è pubblico, il client deve inviare l'intestazione Authorization corretta (come nell'esempio sopra) e fare riferimento al token ottenuto nella sezione Autorizzazione delle richieste.

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>

Nota: questi sono solo i primi risultati. Per sfogliare l'intero feed di contenuti, segui il link del feed's 'next'

<link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/>

Per una spiegazione degli elementi comuni ad Atom, consulta la documentazione di riferimento di Google Data Protocol. Di seguito sono descritti gli elementi che contengono un significato specifico dell'API Sites. Alcune voci del tipo hanno proprietà aggiuntive (non elencate di seguito), altre no. Ad esempio, una voce listitem può avere elementi <gs:field> e una voce webpage no.

ElementoDescrizione
<content ...>Il testo interno è il corpo HTML della pagina. Per alcune voci (ad es. gli allegati), questo elemento conterrà un attributo src che rimanda al file.
<link rel="alternate" ...>Link alla pagina o all'elemento in Google Sites.
<link rel="http://schemas.google.com/sites/2008#revision" ...>href rimanda al feed delle revisioni della voce.
<link rel="http://schemas.google.com/sites/2008#parent" ...>L'attributo href rimanda alla voce principale della voce.
<link rel="http://schemas.google.com/sites/2008#template" ...>L'attributo href rimanda alla pagina del modello della voce.
<category scheme="http://schemas.google.com/g/2005#kind" ...>label è il tipo di voce.
<category term="http://schemas.google.com/g/2005#template" ...>label=template a indicare che la voce è un modello.
<gd:feedLink>L'attributo href fa riferimento agli elementi secondari del elemento principale della voce.
<sites:pageName>Nome dello spazio web della pagina corrispondente al nome nell'URL della pagina.
<sites:revision>Numero di revisione corrente.

Esempi di query per i feed di contenuti

Puoi cercare nel feed dei contenuti utilizzando alcuni dei parametri standard delle query dell'API Google Data e quelli specifici dell'API Sites. Per informazioni più dettagliate e un elenco completo dei parametri supportati, consulta la Guida di riferimento.

Recupero di tipi di voci specifici

Per recuperare solo un determinato tipo di voce, utilizza il parametro kind. Questo esempio restituisce solo webpage voci:

GET /feeds/content/domainName/siteName?kind=webpage

Per restituire più di un tipo di voce, separa ogni kind con un ','. Questo esempio restituisce filecabinet e listpage voci:

GET /feeds/content/domainName/siteName?kind=filecabinet,listpage

In alternativa, puoi utilizzare il formato standard per una query /-/category sui dati di Google anziché il parametro kind:

GET /feeds/content/domainName/siteName/-/filecabinet|listpage

Recupero dei modelli di pagina in corso...

Questo esempio restituisce soltanto template pagine:

GET /feeds/content/domainName/siteName/-/template

Per restituire tutti i tipi di voci e includere le pagine template, utilizza:

GET /feeds/content/domainName/siteName/-/template|-template

Recupero di una pagina tramite percorso

Se conosci il percorso relativo di una pagina nel sito di Google Sites, puoi utilizzare il parametro path per recuperarla. Questo esempio restituisce la pagina che si trova all'indirizzo http://sites.google.com/site/siteName/path/to/the/page:

GET /feeds/content/domainName/siteName?path=/path/to/the/page

Recupero di tutte le voci di una pagina principale

Se conosci l'ID voce di una pagina, puoi utilizzare il parametro parent per recuperare tutte le voci secondarie (se presenti):

GET /feeds/content/domainName/siteName?parent=CONTENT_ENTRY_ID

Sono incluse bozze o voci eliminate

Per includere le bozze o le voci eliminate, utilizza rispettivamente i parametri include-drafts o include-deleted. Questo esempio include le bozze delle voci nel feed di contenuti:

GET /feeds/content/domainName/siteName?include-drafts=true

Ricerca a testo intero

Per eseguire una ricerca in tutti i contenuti di un sito, utilizza il parametro q per eseguire una ricerca a testo intero:

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

Torna all'inizio



Creare contenuti

Puoi creare nuovi contenuti (pagine web, pagine elenco, pagine Archivio, pagine di annunci e così via) inviando un elemento POST HTTP al feed di contenuti:

https://sites.google.com/feeds/content/domainName/siteName

Per un elenco dei tipi di voci supportati, consulta il parametro kind nella Guida di riferimento.

Creazione di nuovi elementi / pagine

Questo esempio crea un nuovo webpage al primo livello del sito, include parte del corpo della pagina XHTML e imposta il titolo dell'intestazione su 'Nuovo titolo pagina web':

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>

In caso di esito positivo, il server risponde con un 201 Created e una copia della voce.

Creazione di elementi/pagine in percorsi URL personalizzati

Per impostazione predefinita, l'esempio precedente verrà creato sotto l'URL http://sites.google.com/domainName/siteName/new-webpage-title e avrà l'intestazione di una pagina con 'Nuovo titolo della pagina web'. In altre parole, l'elemento <atom:title> viene normalizzato in new-webpage-title per l'URL. Per personalizzare il percorso dell'URL di una pagina, puoi impostare l'elemento <sites:pageName>.

In questo esempio viene creato un nuovo filecabinet con un'intestazione di pagina 'File Storage', ma viene creata la pagina sotto l'URL http://sites.google.com/domainName/siteName/files specificando l'elemento <sites:pageName>.

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>

Il server utilizza le seguenti regole di precedenza per assegnare un nome al percorso dell'URL di una pagina:

  1. <sites:pageName>, se presente. Deve soddisfare il a-z, A-Z, 0-9, -, _.
  2. <atom:title>, non deve essere null se pageName non è presente. La normalizzazione consiste nel tagliare e comprimere lo spazio vuoto in '-' e rimuovere i caratteri che non corrispondono a a-z, A-Z, 0-9, -, _.

Ad esempio, 'Custom_Page2' sarebbe un accettato dal server.

Creare pagine secondarie

Per creare pagine secondarie (secondarie) in una pagina principale, includi un elemento <link rel="http://schemas.google.com/sites/2008#parent"> nella nuova voce Atom. Imposta l'attributo href del link sull'attributo link principale della voce principale.

In questo esempio viene creato un nuovo announcement con l'intestazione 'announcement', in una pagina di annuncio principale con l'ID ID PARENT_ENTRY_ID. Sono inclusi anche i contenuti XHTML per il corpo della pagina:

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>

Modelli di pagina

Creare modelli di pagina

La procedura di creazione di un modello di pagina è uguale a quella di creazione di nuovi elementi/pagine e creazione di pagine secondarie. La differenza è l'aggiunta di category con il termine e l'etichetta impostati rispettivamente su 'http://schemas.google.com/g/2005#template' e 'template'.

In questo esempio viene creato un nuovo modello webpage.

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>

Creare pagine da un modello

Come per la creazione di modelli di pagina, puoi creare un'istanza di una nuova pagina da un modello includendo un elemento <link> con relproxy#39;http://schemas.google.com/sites/2008#template' che rimanda al link personale di un modello di pagina.

Questo esempio crea una nuova pagina filecabinet da un modello di pagina esistente che definisce un archivio.

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>

Nota: nonostante un modello che definisca un elemento <category>, è ancora obbligatorio includerlo nella voce. Inoltre, tieni presente che se includi un elemento <content>, il server lo rifiuterà.

Caricamento di file

Proprio come in Google Sites, l'API consente di caricare allegati in pagine schedario e pagine principali.

Per caricare un allegato in un file genitore, invia una richiesta HTTP POST all'URL del feed dei contenuti:

https://sites.google.com/feeds/content/domainName/siteName

Il corpo POST deve essere una richiesta multiparte MIME, per combinare i contenuti del file con un <atom:entry> contenente i metadati dell'allegato. <atom:entry> deve fare riferimento al link personale della voce principale per specificare la posizione in cui verrà creato l'allegato. Per ulteriori informazioni, consulta la sezione Creare pagine secondarie.

Caricamento di allegati

Ecco un esempio di caricamento di un file PDF in uno schedario con ID PARENT_ENTRY_ID. L'allegato verrà creato con il titolo 'File PDF' e una descrizione (facoltativa) 'Pacchetto HR'.

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

Se il caricamento ha esito positivo, il server risponderà con un 201 Created e una copia della voce di allegato appena creata.

Caricare un allegato in una cartella

Per caricare un allegato in una cartella esistente in un filecabinet, includi una categoria con l'attributo 'term' impostato sul nome della cartella:

<category scheme="http://schemas.google.com/sites/2008#folder" term="FolderName">

Allegati web

Gli allegati web sono tipi speciali di allegati. Essenzialmente, sono link ad altri file sul Web che puoi aggiungere alle schede del tuo schedario. Questa funzionalità è analoga al metodo 'Aggiungi file tramite URL' metodo di caricamento nell'interfaccia utente di Google Sites.

Nota: gli allegati web possono essere creati solo in uno schedario. Non possono essere caricate su altri tipi di pagine.

In questo esempio viene creato un webattachment sotto lo schedario a cui fa riferimento l'ID FILECABINET_ENTRY_ID. Il titolo e la descrizione (facoltativa) sono impostati rispettivamente su 'GoogleLogo' e 'nicecolor'.

POST /feeds/content/domainName/siteName HTTP/1.1
Host: sites.google.com
GData-Version: 1.4
Authorization: <your authorization header here>
Content-Type: application/atom+xml
Content-Length: 531

<entry xmlns="http://www.w3.org/2005/Atom">
  <category scheme="http://schemas.google.com/g/2005#kind"
          term="http://schemas.google.com/sites/2008#webattachment" label="webattachment"/>
  <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml"
        href="https://sites.google.com/feeds/content/domainName/siteName/FILECABINET_ENTRY_ID"/>
  <title>GoogleLogo</title>
  <summary>nice colors</summary>
  <content type="image/gif" src="http://www.google.com/images/logo.gif"></content>
</entry>

POST crea un link nell'archivio dei file dell'utente che indirizza all'immagine all'indirizzo 'http://www.google.com/images/logo.gif'.

Torna all'inizio



Aggiornamento dei contenuti

I metadati (titolo, nome pagina e così via) e i contenuti della pagina di qualsiasi pagina possono essere modificati con un'unica richiesta PUT al link edit. Il corpo della richiesta deve contenere una voce Atom che descrive la pagina aggiornata. L'eccezione a questa regola è una voce di allegato, in cui la voce può essere utilizzata solo per aggiornare i metadati dell'allegato. Per modificare i contenuti del file allegato, è sufficiente includere i dati non elaborati come corpo di una richiesta PUT al link edit-media dell'allegato. Puoi anche aggiornare contemporaneamente sia i metadati sia i contenuti del file allegato utilizzando una richiesta multiparte MIME.

Per assicurarti che l'aggiornamento non sovrascriva le modifiche di un altro client, includi il valore ETag della voce originale. A tal fine, puoi fornire il valore ETag nell'intestazione HTTP If-Match oppure includere l'attributo gd:etag originale della voce nella voce aggiornata. Per determinare il valore ETag della voce originale, esamina l'attributo gd:etag dell'elemento <entry>. Per le voci multimediali, l'ETag dei media può essere disponibile nell'attributo gd:etag del link edit-media.

Se vuoi aggiornare la voce indipendentemente dal fatto che qualcun altro l'abbia aggiornata dopo averla recuperata, utilizza If-Match: * e non includere l'ETag. Per ulteriori informazioni sui tag ETag, consulta la Guida di riferimento delle API di dati di Google.

Aggiornamento dei metadati o dei contenuti html di un elemento

Per aggiornare i metadati o i contenuti HTML di una voce, invia un PUT link edit della voce.

Di seguito è riportato un esempio di aggiornamento di una voce listpage (rappresentata dal suo ID ENTRY_ID) con le seguenti modifiche:

  • Il titolo è stato modificato in 'Contenuti aggiornati'
  • Contenuti HTML aggiornati
  • La prima intestazione di colonna dell'elenco viene aggiornata come 'Owner'
  • Il percorso dell'URL della pagina è modificato dall'elemento <sites:pageName>
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>

Nota: la voce restituita dal server conterrà più elementi dell'esempio precedente.

Sostituzione dei contenuti di un allegato

Di seguito è riportato un esempio di sostituzione dei contenuti di un allegato, ma i relativi metadati non sono stati modificati. Poiché la richiesta include nuovi contenuti, viene utilizzato il link edit-media della voce dell'allegato.

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

Aggiornare i metadati e i contenuti degli allegati

Di seguito è riportato un esempio di aggiornamento simultaneo dei metadati di un allegato e dei relativi contenuti. Il nome degli allegati verrà aggiornato a 'Nuovo titolo' e i suoi contenuti verranno sostituiti con i contenuti di un file ZIP. Poiché la richiesta contiene nuovi contenuti del file, viene utilizzato il link edit-media della voce dell'allegato.

Tieni presente che l'inclusione dell'ETag per i metadati fornisce un If-Match implicito anche per i contenuti multimediali, perché qualsiasi aggiornamento ai contenuti multimediali comporta la modifica dell'ETag dei metadati.

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

Torna all'inizio



Eliminazione di contenuti

Per rimuovere un elemento da un sito Google, recupera prima la voce, quindi invia una richiesta DELETE all'URL edit della voce. Si tratta dello stesso URL utilizzato per aggiornare i metadati o i contenuti HTML di un elemento.

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>

Se la voce è stata eliminata correttamente, il server risponde con un 200 OK HTTP.

Se vuoi assicurarti di non eliminare una voce che è stata modificata da un altro client da quando l'hai recuperata, includi un'intestazione HTTP If-Match contenente il valore ETag della voce originale. Puoi determinare il valore ETag della voce originale esaminando l'attributo gd:etag dell'elemento <entry>.

Se vuoi eliminare la voce indipendentemente dal fatto che un altro utente la abbia aggiornata dopo averla recuperata, utilizza If-Match: * e non includere l'ETag. In questo caso, non è necessario recuperare la voce prima di eliminarla.

Per ulteriori informazioni sugli ETag, consulta la guida di riferimento delle API di dati di Google.

Torna all'inizio



Download degli allegati

Quando hai una voce allegato, puoi scaricare il file inviando un elemento GET HTTP autenticato al link src <content> della voce. Esempio di link ai contenuti di un PDF:

<content type="application/pdf"
  src="http://502377765-a-google-com-s-sites.googlegroups.com/feeds/media/content/domainName/siteName/678942036"/>

Torna all'inizio

Feed ACL

Panoramica delle autorizzazioni di condivisione (ACL)

Ogni voce ACL nel feed ACL rappresenta un ruolo di accesso di una determinata entità, ovvero un utente, un gruppo di utenti, un dominio o l'accesso predefinito (che è un sito pubblico). Le voci verranno mostrate solo per le entità con accesso esplicito: una voce verrà mostrata per ogni indirizzo email nel riquadro "Persone con accesso" nella schermata di condivisione dell'interfaccia utente di Google Sites. Pertanto, gli amministratori di dominio non verranno mostrati, anche se hanno accesso implicito a un sito.

Ruoli

L'elemento del ruolo rappresenta un livello di accesso che un'entità può avere. Esistono quattro possibili valori dell'elemento gAcl:role:

  • reader: uno spettatore (equivalente a un accesso di sola lettura).
  • writer: un collaboratore (equivalente a accesso in lettura/scrittura).
  • owner: in genere l'amministratore del sito (equivalente a accesso in lettura/scrittura).

Mirini con ingrandimento

L'elemento dell'ambito rappresenta l'entità che dispone di questo livello di accesso. Esistono cinque tipi possibili di elementi gAcl:scope:

  • user: un valore dell'indirizzo email, ad esempio "utente@gmail.com".
  • group: un indirizzo email di Google Gruppi, ad esempio "group@domain.com".
  • domain: un nome di dominio G Suite, ad esempio "domain.com".
  • invito: un utente che è stato invitato al sito, ma non è stato ancora aggiunto all'ACL per il sito. (non disponibile se viene specificato gdata 1.3 o versioni precedenti).
  • default: esiste un solo ambito di tipo "default", che non ha alcun valore (ad esempio <gAcl:scope type="default">). Questo particolare ambito controlla l'accesso che ogni utente avrà per impostazione predefinita su un sito pubblico.

Nota: i domini non possono avere un valore gAcl:role impostato su "Proprietario", possono essere solo lettori o scrittori.

Informazioni sull'ambito "invito".

L'API restituisce l'ambito di invito quando aggiungi uno o più utenti all'ACL che non hanno già un Account Google. L'API restituisce un URL con un token incorporato che devi fornire agli utenti invitati per consentire loro di accettare l'invito.

Questo metodo di invito ti consente di invitare utenti non Google senza che tu sappia in anticipo quale indirizzo email vogliono utilizzare. Se gli utenti fanno clic sull'URL dell'invito con il token incorporato, possono registrarsi per accedere utilizzando l'indirizzo email che preferiscono. Inoltre, più utenti possono potenzialmente utilizzare questo URL per accettare l'invito, pertanto può essere utile se inviti un utente o un gruppo di utenti.

Nota: l'ambito "invito" è disponibile solo in gdata 1.4 e versioni successive. Questa soluzione non funziona se stai specificando in modo esplicito 1.3 o una versione precedente.

Recupero del feed ACL

Il feed ACL può essere utilizzato per controllare le autorizzazioni di condivisione di un sito ed è accessibile tramite il seguente URI:

https://sites.google.com/feeds/acl/site/domainName/siteName
Parametro feedDescrizione
domainName'site' o il dominio del dominio ospitato da G Suite (ad es. example.com).
siteNameIl nome dello spazio web del tuo sito, indicato nell'URL del sito (ad es. myCoolSite).

È importante tenere presente che ogni voce nel feed del sito contiene un link a questo feed:

 <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml"
      href="https://sites.google.com/feeds/acl/site/domainName/siteName"/>

Per recuperare le autorizzazioni di condivisione di un sito, invia GET HTTP all'URI del feed ACL:

GET /feeds/acl/site/domainName/siteName HTTP/1.1
Host: sites.google.com
GData-Version: 1.4
Authorization: <your authorization header here>

Il server risponderà con un 200 OK e un feed di voci ACL:

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

Torna all'inizio

Condividere un sito

Il feed ACL accetta richieste GET, POST e PUT. Per inserire un nuovo ruolo nel feed ACL, è sufficiente inviare una richiesta POST al feed ACL del sito.

Nota: la condivisione di determinati ACL potrebbe essere possibile solo se il dominio è configurato per consentire queste autorizzazioni (ad esempio, se la condivisione all'esterno del dominio per i domini G Suite è abilitata e così via).

Nell'esempio viene aggiunto un nuovo collaboratore (autore) al sito:

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>

Per un inserimento riuscito vengono restituiti una 201 Created e la nuova voce:

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

Invitare gli utenti tramite l'ambito "invito"

Se aggiungi utenti che non hanno Account Google, l'API restituisce un URL che devi fornire agli utenti che vuoi invitare. Dopo aver fatto clic sull'URL, potranno accedere al sito accedendo con un account esistente o creandone uno nuovo.

Un invito riuscito restituisce un 201 Created e una nuova voce che include l'URL che devi trasmettere all'utente:

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

Condivisione a livello di gruppo e dominio

Come per la condivisione di un sito con un singolo utente, puoi condividere un sito in un gruppo Google o un dominio G Suite. Di seguito sono elencati i valori scope necessari.

Condivisione con un indirizzo email di gruppo:

<gAcl:scope type="group" value="group@example.com"/>

Condivisione con un intero dominio:

<gAcl:scope type="domain" value="example.com"/>

La condivisione a livello di dominio è supportata solo per i domini G Suite e solo per il dominio su cui è ospitato il sito. Ad esempio http://sites.google.com/a/dominio1.com/sitoA può condividere l'intero sito solo con dominio1.com, non dominio2.com. I siti non ospitati su un dominio G Suite (ad esempio http://sites.google.com/sito/sitoB) non possono invitare i domini.

Modifica delle autorizzazioni di condivisione

Per aggiornare una voce ACL, modifica la voce in base alle necessità ed invia una richiesta HTTP PUT al link edit della voce, che è semplicemente un elemento <link>, il cui attributo 'rel' è impostato su 'edit'. Nell'esempio precedente, il link è:

<link rel='edit' type='application/atom+xml'
    href='https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com'/>

Lo snippet di seguito cambia il ruolo di new_writer@gmail.com in 'reader':

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>

Rimozione delle autorizzazioni di condivisione

Per rimuovere le autorizzazioni per questo utente, invia una richiesta DELETE allo stesso link edit che è stato utilizzato per la richiesta PUT:

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>

Il server risponderà con 200 OK.

Torna all'inizio

Argomenti speciali

Recupero di un feed o di una nuova voce

Se vuoi recuperare un feed o una voce che hai recuperato in precedenza, puoi migliorare l'efficienza comunicando al server di inviare l'elenco o la voce solo se è cambiata dall'ultima volta che l'hai recuperata.

Per eseguire questa operazione di recupero condizionale, invia una richiesta HTTP GET che includa un'intestazione HTTP If-None-Match. Nell'intestazione specifica il tag ETag della voce o dell'elenco, che puoi trovare nell'attributo gd:etag dell'elemento <feed> o dell'elemento <entry>.

Esempio di utilizzo del feed del sito:

GET /feeds/site/domainName/myOtherTestSite/
GData-Version: 1.4
If-None-Match: W/"Ck8GQXk7fil7ImA9WxNSFk0."

Quando il server riceve questa richiesta, controlla se l'elemento richiesto ha lo stesso ETag dell'ETag specificato. In caso di corrispondenza di ETag, l'elemento non è cambiato e il server restituisce un codice di stato HTTP 304 Not Modified o un codice di stato HTTP 412 Precodition Failed. Entrambi i codici di stato indicano che l'elemento che hai già recuperato è aggiornato.

Se i tag ETag non corrispondono, l'elemento è stato modificato dall'ultima volta che lo hai richiesto e il server restituisce l'elemento.

Per ulteriori informazioni sugli ETag, consulta la guida di riferimento delle API di dati di Google.

Elaborazione batch

Le richieste in batch offrono al client la possibilità di eseguire più operazioni in una singola richiesta, anziché inviare ogni singola operazione.

Il server eseguirà il maggior numero possibile di modifiche richieste e restituirà informazioni sullo stato che puoi utilizzare per valutare l'esito positivo o negativo di ogni operazione. Per maggiori dettagli sull'elaborazione batch nell'API di dati di Google, consulta Elaborazione in batch con le API di dati di Google

Ogni operazione in un feed batch ha un elemento <id>, ad eccezione delle operazioni di inserimento. Questo elemento corrisponde all'URL della richiesta utilizzato normalmente per l'aggiornamento, l'eliminazione o l'esecuzione di query sul feed di contenuti. Ad esempio, se stai aggiornando una modifica, imposta <id> sul link edit della voce in questione. Viene utilizzato per identificare la voce di destinazione. Le nuove voci non hanno elementi <id> in quanto non sono ancora state create. Puoi invece definire un valore stringa in <batch:id>, che verrà risposto nella risposta del server e utilizzato per cercare la voce corrispondente.

Per inviare una richiesta in batch, crea un feed batch e invia un valore POST HTTP al link batch del feed:

<link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml"
    href="https://sites.google.com/feeds/content/site/siteName/batch"/>

L'esempio seguente mostra come eseguire una query, inserire, aggiornare ed eliminare una voce di pagina web:

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>

Il feed restituito conterrà una voce di risultato per ogni operazione:

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

Torna all'inizio