従来の Google Sites API を使用すると、アプリケーションで Google サイト内のコンテンツにアクセス、公開、変更できます。また、アプリは最近のアクティビティのリストをリクエストしたり、リビジョン履歴を取得したり、添付ファイルやファイルをアップロード / ダウンロードしたりできます。
オーディエンス
このドキュメントは、Google Data APIs プロトコルの基本的な考え方を理解していることを前提としています。
このドキュメントは、Google サイトとやり取りできるクライアント アプリケーションを作成するプログラマーを対象としています。 生の XML / HTTP を使用した基本的なデータ API 操作の一連の例と説明が示されています。このドキュメントを読んだら、左側のナビゲーション バーの他のガイドに記載されている言語固有の例で、クライアント ライブラリを使用して API を操作する方法の詳細を確認してください。
このガイドの資料については、リファレンス ガイドをご覧ください。
リクエストの承認
アプリケーションで非公開のユーザーデータをリクエストする場合は、承認トークンを含める必要があります。このトークンは Google でアプリケーションを識別するためにも使用されます。
認証プロトコルについて
リクエストを承認するために、アプリケーションは OAuth 2.0 を使用する必要があります。これ以外の認証プロトコルには対応していません。アプリケーションで「Google でログイン」を使用している場合、承認手続きの一部が自動化されます。
OAuth 2.0 を使用したリクエストの承認
非公開のユーザーデータに対する Google Sites Data API へのリクエストは、認証済みユーザーによって承認される必要があります。
OAuth 2.0 の承認プロセス(「フロー」)の詳細は開発するアプリケーションの種類によって若干異なりますが、次の一般的なプロセスはすべての種類のアプリケーションに当てはまります。
- アプリケーションの作成時に、Google API Console を使用してアプリケーションを登録します。登録すると、後で必要になるクライアント ID やクライアント シークレットなどの情報が Google から提供されます。
- Google API Console で Google Sites Data API を有効にします。(Indexing API が API Console に表示されない場合は、この手順をスキップしてください)。
- アプリケーションでユーザーデータにアクセスする必要がある場合は、特定のアクセスのスコープを Google にリクエストします。
- データをリクエストするアプリケーションの承認を求める Google の同意画面がユーザーに表示されます。
- ユーザーが承認すると、有効期間の短いアクセス トークンがアプリケーションに付与されます。
- アプリケーションは、リクエストにそのアクセス トークンを付与してユーザーデータをリクエストします。
- Google がそのリクエストとトークンが有効であると判断すると、リクエストされたデータが返されます。
プロセスによっては、更新トークンを使用して新しいアクセス トークンを取得するなど、追加の手順が必要になる場合もあります。各種アプリケーションのフローについて詳しくは、Google の OAuth 2.0 ドキュメントをご覧ください。
Google Sites Data API の OAuth 2.0 のスコープ情報は次のとおりです。
https://sites.google.com/feeds/
OAuth 2.0 を使用してアクセスをリクエストする場合、アプリケーションを登録したときに Google から提供された情報(クライアント ID やクライアント シークレットなど)に加えて、スコープ情報が必要になります。
バージョンの指定
Google Sites Data API に対するすべてのリクエストで、バージョン 1.4 を指定する必要があります。バージョン番号を指定するには、GData-Version
HTTP ヘッダーを使用します。
GData-Version: 1.4
また、HTTP ヘッダーを設定できない場合は、URL のクエリ パラメータとして v=1.4
を指定することもできます。ただし、可能であれば HTTP ヘッダーを使用することをおすすめします。
注: クライアント ライブラリからは適切なバージョン ヘッダーが自動的に提供されるため、クライアント ライブラリの使用中は v=1.4
クエリ パラメータを使用しないでください。
サイト フィード
サイトフィードを使用すると、ユーザーが所有している Google サイトや閲覧権限を持っている Google サイトを一覧表示したり、既存のサイトのタイトルを変更したりできます。G Suite ドメインの場合は、サイト全体を作成またはコピーするためにも使用できます。
リスティング サイト
ユーザーがアクセスできるサイトを一覧表示するには、認証済みの GET
リクエストを次の URL に送信します。
https://sites.google.com/feeds/site/domainName
フィード パラメータ | 説明 |
---|---|
domainName | 「site 」または G Suite でホストされているドメインのドメイン(例: example.com )。 |
レスポンスには、サイトのリストを含むフィードが含まれます。
GET /feeds/site/domainName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/site/site</id> <updated>2009-12-02T17:47:34.406Z</updated> <title>Site</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/site/site"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://sites.google.com/feeds/feeds/site/domainName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName"/> <link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/?start-index=2"/> <generator version="1" uri="http://sites.google.com/">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"CkUAQH4_eil7I2A9WxNaFk4.""> <id>https://sites.google.com/feeds/site/site/myTestSite</id> <updated>2009-12-01T01:17:21.042Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T01:17:21.042Z</app:edited> <title>myTestSite</title> <summary/> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myTestSite/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myTestSite"/> <sites:siteName>myTestSite</sites:siteName> <sites:theme>default</sites:theme> </entry> <entry gd:etag="W/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Memories Site"/> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <sites:siteName>myOtherTestSite</sites:siteName> <sites:theme>iceberg</sites:theme> </entry> ... </feed>
サイトはアルファベット順に表示されます。
新しいサイトを作成する
注: この機能は G Suite ドメインでのみご利用いただけます。
新しいサイトをプロビジョニングするには、サイトフィードに対して HTTP POST
を実行します。次に例を示します。
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>
上記のリクエストにより、G Suite ドメイン example.com
の下に「slate」テーマの新しい Google サイトが作成されます。サイトの URL は http://sites.google.com/a/example.com/source-site/ となります。
サイトが正常に作成されると、サーバーは 201 Created
で応答します。レスポンス エントリには、サイトへのリンク、サイトの ACL フィードへのリンク、サイト名、タイトル、概要など、サーバーが追加した要素が含まれます。
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>New Test Site</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/source-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/source-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <sites:siteName>source-site</sites:siteName> <sites:theme>slate</sites:theme> </entry>
サイトのコピー
注: この機能は G Suite ドメインでのみご利用いただけます。
既存のサイトは、新しいサイトを作成する場合と同じ方法で複製できます。ただし、POST
リクエストの Atom エントリには、コピーするサイトのサイトフィードを指す rel='source'
を含む <link>
を含めます。このリンクは、コピーされたすべてのサイトに表示されます。サイトを複製する例を次に示します。
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>
上記のリクエストでは、http://sites.google.com/a/example.com/source-site/ にあるサイトがコピーされます。
注意事項:
- コピーできるのは、認証されたユーザーが所有するサイトとサイト テンプレートのみです。
- サイト テンプレートをコピーすることもできます。Google サイトの設定ページで [このサイトをテンプレートとして公開] がオンになっているサイトは、テンプレートです。
- 別のドメインからサイトをコピーできますが、移行元のサイトでオーナーとして登録されている必要があります。
サイトのメタデータの更新
サイトのタイトルや概要を更新するには、サイトエントリの edit
リンクに HTTP PUT
を送信します。たとえば次の例では、前のサイトのタイトルを New Test Site2
に、説明を Newer description
に更新します。
PUT /feeds/site/example.com/source-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>New Test Site2</title> <summary>Newer description</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Category"/> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/source-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/source-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/source-site"/> <sites:siteName>source-site</sites:siteName> </entry>
カテゴリを追加する
注: この機能は G Suite ドメインでのみご利用いただけます。
G Suite for your Domain サイトには、ドメイン内のサイトを分類するのに役立つカテゴリ メタデータが含まれています。カテゴリのメタデータを追加または更新するには、category
タグを含むサイトエントリの edit
リンクに HTTP PUT
を送信します。次の例の太字の行をご覧ください。
PUT /feeds/site/example.com/source-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/source-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>My Team website</title> <summary>This site contains contact information and a summary of major efforts our team owns</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Team Site"/> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/my-team-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/my-team-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <sites:siteName>my-team-site</sites:siteName> </entry>
この例では、既存のサイトを編集して、カテゴリ「Team Site」を追加します。
複数のカテゴリを追加するには、<category>
タグを追加します。次の例の太字の行をご覧ください。
PUT /feeds/site/example.com/my-team-site HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:gAcl="http://schemas.google.com/acl/2007" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/"DEECR38l7I2A9WxNaF0Q.""> <id>https://sites.google.com/feeds/site/example.com/my-team-site</id> <updated>2009-12-02T23:31:06.184Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-02T23:31:06.184Z</app:edited> <title>My Team website</title> <summary>This site contains contact information and a summary of major efforts our team owns</summary> <category scheme="http://schemas.google.com/sites/2008#tag" term="Team Site/"> <category scheme="http://schemas.google.com/sites/2008#tag" term="Legal Department/"> <link rel="alternate" type="text/html" href="http://sites.google.com/a/example.com/my-team-site/"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/example.com/my-team-site"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/example.com/my-team-site"/> <sites:siteName>my-team-site</sites:siteName> </entry>
この例では、「チームサイト」と「法務部門」の 2 つのカテゴリを追加します。
ウェブアドレスのマッピング
ウェブアドレスのマッピングを使用すると、サイトのユーザーは独自のドメインを Google サイトにマッピングできます。たとえば、http://sites.google.com/a/domain.com/mysite
の代わりに http://www.mydomainsite.com
を使用できます。サイトのホスト場所によっては、サイトのウェブアドレスのマッピングを手動で変更できます。詳しくは、ヘルプセンターの記事をご覧ください。
サイトのウェブアドレスのマッピングを取得する
サイトのウェブアドレスのマッピングを返すには、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/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel='webAddressMapping' href='http://www.mysitemapping.com'> <link rel='webAddressMapping' href='http://www.mysitemapping2.com'> <link rel='webAddressMapping' href='http://www.myothermapping.org'> </entry> ... </feed>
既存のマッピングは、rel='webAddressMapping' を持つ link
として表示されます。たとえば、上記の例では、サイト http://sites.google.com/site/myOtherTestSite
を参照する webAddressMapping
が 3 つあります。
ウェブアドレスのマッピングの変更
注: ウェブアドレスのマッピングを操作するときは、すべての GET/POST/PUT オペレーションで with-mappings=true
パラメータを指定する必要があります。このパラメータが指定されていない場合、webAddressMapping
はサイトエントリで返されず(GET)、エントリのマッピングの更新または削除(PUT)時に考慮されません。
マッピングを追加、更新、削除するには、新しいサイトの作成時またはサイトのメタデータの更新時に、対象のリンクを指定、変更、削除します。with-mappings=true
パラメータはサイトフィード URI に含める必要があります。注: アドレスのマッピングを更新するには、サイト管理者である必要があります。G Suite でホストされているサイトの場合は、ドメイン管理者である必要があります。
たとえば、次のリクエストは http://www.mysitemapping.com
マッピングを http://www.my-new-sitemapping.com
に更新し、エントリからリンクを除外して http://www.mysitemapping2.com
を削除します。
PUT /feeds/site/domainName?with-mappings=true HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> <entry gd:etag="W/"DkQGQHczfA9WxNaFk4.""> <id>https://sites.google.com/feeds/site/domainName/myOtherTestSite</id> <updated>2009-12-01T02:25:21.987Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-12-01T02:25:21.987Z</app:edited> <title>myOtherTestSite</title> <summary>A new site to hold memories</summary> <link rel="alternate" type="text/html" href="http://sites.google.com/site/myOtherTestSite"/> <link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/myOtherTestSite"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/site/domainName/myOtherTestSite"/> <link rel='webAddressMapping' href='www.my-new-sitemapping.com'> <!-- missing mapping2 will be deleted --> <link rel='webAddressMapping' href='http://www.myothermapping.org'> </entry>
ウェブアドレスのマッピングは、サイトの作成時またはコピー時に指定することもできます。
アクティビティ フィード
アクティビティ フィードを取得することで、サイトの最近のアクティビティ(変更)を取得できます。アクティビティ フィードの各エントリには、サイトに加えられた変更に関する情報が含まれます。
アクティビティ フィードをクエリするには、アクティビティ フィードの URL に HTTP GET
を送信します。
https://sites.google.com/feeds/activity/domainName/siteName
フィード パラメータ | 説明 |
---|---|
domainName | 「site 」または G Suite でホストされているドメイン(例: example.com )です。 |
siteName | サイトのウェブスペース名(サイトの URL に記載されています。例: myCoolSite )。 |
リクエストとレスポンスの例
GET /feeds/activity/site/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"> <id>https://sites.google.com/feeds/activity/site/siteName</id> <updated>2009-09-10T05:24:23.120Z</updated> <title>Activity</title> <link rel="alternate" type="text/html" href="http://sites.google.com/site/siteName/system/app/pages/recentChanges"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU4GQ3szfSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/940375996952876062</id> <updated>2009-09-10T03:38:42.585Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#deletion" label="deletion"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User deleted <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/940375996952876062"/> <author> <name>User</name> <email>user@gmail.com</email> </author> </entry> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU8DQn45fyl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/7165439066235480082</id> <updated>2009-09-10T03:37:53.027Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#edit" label="edit"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User2 edited <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/7165439066235480082"/> <author> <name>User</name> <email>user@gmail.com</email> </author> </entry> <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="W/"CU8AR3s4cSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/activity/site/siteName/127448462987345884</id> <updated>2009-09-10T03:37:26.539Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#creation" label="creation"/> <title>home</title> <summary type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">User3 created <a href="http://sites.google.com/site/siteName/home">home</a> </div> </summary> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/site/siteName/5409745539831916487"/> <link rel="http://schemas.google.com/sites/2008#current" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/5409745539831916487"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/activity/site/siteName/127448462987345884"/> <author> <name>User3</name> <email>user3@gmail.com</email> </author> </entry> </feed>
注: このフィードにアクセスするには、サイトの共同編集者またはオーナーである必要があります。
クライアントは、正しい Authorization
ヘッダーを送信し、リクエストの承認で取得したトークンを参照する必要があります。
リビジョン フィード
コンテンツ エントリの変更履歴を取得するには、エントリの変更リンクに HTTP GET
を送信します。
https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID
フィード パラメータ | 説明 |
---|---|
domainName | 「site 」または G Suite でホストされているドメイン(例: example.com )です。 |
siteName | サイトのウェブスペース名(サイトの URL に記載されています。例: myCoolSite )。 |
特定のページ / コメント / アタッチメント / リストアイテムのリビジョン リンクを確認するには、まず CONTENT_ENTRY_ID を使用してコンテンツフィードからエントリを取得します。取得されたエントリには、リビジョン フィードへの <atom:link>
が含まれます。例:
<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"/>
リクエストとレスポンスの例
GET /feeds/revision/domainName/siteName/CONTENT_ENTRY_ID HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID</id> <updated>2009-09-10T04:33:35.337Z</updated> <title>Revisions</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"CU4GQmA9WxNRFUg.""> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/2</id> <updated>2009-09-10T03:38:42.045Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Home</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Latest content here</div> </content> <link rel="alternate" type="text/html" href="http://sites.google.com/domainName/siteName/CONTENT_ENTRY_ID/system/app/pages/admin/compare?wuid=wuid%3Agx%3A4f67c7&rev1=2"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/2"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>home</sites:pageName> <sites:revision>2</sites:revision> </entry> <entry gd:etag="W/"CU8DQ388eSl7ImA9WxNRFUg.""> <id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/1</id> <updated>2009-09-10T03:37:52.171Z</updated> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Home</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Older content here</div> </content> <link rel="alternate" type="text/html" href="http://sites.google.com/domainName/siteName/CONTENT_ENTRY_ID/system/app/pages/admin/compare?wuid=wuid%3Agx%3A4bc7&rev1=1"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID/1"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>home</sites:pageName> <sites:revision>1</sites:revision> </entry> </feed>
注: このフィードにアクセスするには、サイトのコラボレーターまたはオーナーである必要があります。クライアントは、正しい Authorization
ヘッダーを送信し、リクエストの承認で取得したトークンを参照する必要があります。
コンテンツ フィード
コンテンツの取得
コンテンツ フィードには、Google サイトの現在のコンテンツが一覧表示されます。認証済みの GET
リクエストを次の URL に送信します。
https://sites.google.com/feeds/content/domainName/siteName
フィード パラメータ | 説明 |
---|---|
domainName | 「site 」または G Suite でホストされているドメイン(例: example.com )です。 |
siteName | サイトの URL に含まれる、サイトのウェブスペース名(例: myCoolSite )。 |
結果として返されるフィードには、サイトのコンテンツ エントリの最初のページがリストされます。フィード内の各エントリは、webpage
、filecabinet
、attachment
、comment
など、さまざまなタイプのコンテンツ エントリを表します。<category scheme="http://schemas.google.com/g/2005#kind">
要素によってエントリのタイプが決まります。サポートされている kind
値の一覧については、リファレンス ガイドをご覧ください。
注: このフィードに認証が必要な場合と不要な場合があります。これは、サイトの共有権限によって異なります。サイトが非公開の場合、クライアントは正しい Authorization
ヘッダー(上記の例を参照)を送信し、リクエストの承認で取得したトークンを参照する必要があります。
GET /feeds/content/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here> HTTP/1.1 200 OK <?xml version="1.0" encoding="UTF-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006" xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>https://sites.google.com/feeds/content/domainName/siteName</id> <updated>2009-08-31T01:39:20.286Z</updated> <title>Content</title> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="http://schemas.google.com/g/2005#post" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName"/> <link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/batch""/> <link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/> <generator version="1" uri="http://sites.google.com">Google Sites</generator> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag="W/"Ck8GQXk7fil7ImA9WxNSFk0.""> <id>https://sites.google.com/feeds/content/domainName/siteName/7322156894</id> <updated>2009-08-30T02:53:40.706Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-30T02:53:40.706Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Subpage</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Page html content here</div> </content> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/6492205817"/> <link rel="alternate" type="text" href="http://sites.google.com/site/siteName/subpage"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/7322156894"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/7322156894"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/7322156894"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:pageName>subpage</sites:pageName> <sites:revision>5</sites:revision> </entry> <entry gd:etag="W/"CkMBQH08fCl7ImA9WxNSFk0.""> <id>https://sites.google.com/feeds/content/domainName/siteName/5930635231</id> <updated>2009-08-30T02:47:31.374Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-30T02:47:31.374Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#listitem" label="listpage"/> <title/> <link rel="http://schemas.google.com/sites/2008#parent" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/5930635231"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/5930635231"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <sites:revision>1</sites:revision> <gs:field index="A" name="Issue/Feature">Implement cool feature X</gs:field> <gs:field index="B" name="Priority">P2</gs:field> <gs:field index="C" name="Owner"/> <gs:field index="D" name="Resolved"/> </entry> <entry gd:etag="W/"AkYHQ3ozcCl7ImA9WxJaE08.""> <id>https://sites.google.com/feeds/content/domainName/siteName/1265948545471894517</id> <updated>2009-08-03T19:35:32.488Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-03T19:35:32.488Z</app:edited> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#filecabinet" label="filecabinet"/> <title>files</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Page html content here</div> </content> <link rel="alternate" type="text" href="https://sites.google.com/domainName/siteName/files"/> <link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml" href="https://sites.google.com/feeds/revision/domainName/siteName/12671894517"/> <link rel="self" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/12671894517"/> <link rel="edit" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/12671894517"/> <author> <name>User</name> <email>user@gmail.com</email> </author> <gd:feedLink href="httpn://sites.google.com/feeds/content/domainName/siteName?parent=12671894517"/> <sites:pageName>files</sites:pageName> <sites:revision>1</sites:revision> </entry> ... </feed>
注: 表示される結果は最初の数件のみです。コンテンツ フィード全体を確認するには、そのフィードの [次へ] リンクをクリックします。
<link rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/>
Atom の共通要素の説明については、Google Data Protocol リファレンスをご覧ください。
以前の Google サイト API に対する具体的な測定結果を持つ要素について、以下で説明します。一部の種類のエントリには追加のプロパティ(以下に記載されていない)がありますが、その他のプロパティはありません。たとえば、listitem
エントリには <gs:field>
要素が含まれる場合がありますが、webpage
エントリには含まれません。
要素 | 説明 |
---|---|
<content ...> | 内部テキストはページの HTML 本文です。エントリによっては(添付ファイルなど)、この要素にファイルを指す src 属性が含まれます。 |
<link rel="alternate" ...> | Google サイトのページまたはアイテムにリンクします。 |
<link rel="http://schemas.google.com/sites/2008#revision" ...> | href 属性は、エントリのリビジョン フィードを指します。 |
<link rel="http://schemas.google.com/sites/2008#parent" ...> | href 属性は、エントリの親エントリを参照します。 |
<link rel="http://schemas.google.com/sites/2008#template" ...> | href 属性は、エントリのテンプレート ページを指します。 |
<category scheme="http://schemas.google.com/g/2005#kind" ...> | label はエントリのタイプです。 |
<category term="http://schemas.google.com/g/2005#template" ...> | label=template は、エントリがテンプレートであることを示します。 |
<gd:feedLink> | href 属性は、エントリの親の子を指します。 |
<sites:pageName> | ページのウェブスペース名。ページの URL 内の名前に対応しています。 |
<sites:revision> | 現在のリビジョン番号。 |
コンテンツ フィードのクエリ例
コンテンツ フィードを検索するには、標準の Google Data API クエリ パラメータの一部と、従来の Sites API に固有のパラメータを使用します。詳細とサポートされているパラメータの一覧については、リファレンス ガイドをご覧ください。
特定のエントリの種類の取得
特定の種類のエントリのみを取得するには、kind
パラメータを使用します。この例では、webpage
エントリのみを返します。
GET /feeds/content/domainName/siteName?kind=webpage
複数のエントリタイプを返すには、各 kind
を「,」で区切ります。この例では、filecabinet
エントリと listpage
エントリを返します。
GET /feeds/content/domainName/siteName?kind=filecabinet,listpage
または、kind
パラメータの代わりに、Google Data /-/category
クエリの標準形式を使用することもできます。
GET /feeds/content/domainName/siteName/-/filecabinet|listpage
ページ テンプレートの取得
この例では template
ページのみを返します。
GET /feeds/content/domainName/siteName/-/template
すべてのエントリタイプを返して template
ページを含めるには、次のようにします。
GET /feeds/content/domainName/siteName/-/template|-template
パスでページを取得する
Google サイト内のページの相対パスがわかっている場合は、path
パラメータを使用してその特定のページを取得できます。この例では、http://sites.google.com/site/siteName/path/to/the/page
にあるページが返されます。
GET /feeds/content/domainName/siteName?path=/path/to/the/page
親ページのすべてのエントリを取得する
ページのエントリ ID がわかっている場合は、parent
パラメータを使用してその子エントリ(存在する場合)をすべて取得できます。
GET /feeds/content/domainName/siteName?parent=CONTENT_ENTRY_ID
下書きや削除済みのエントリを含める
下書きまたは削除済みのエントリを含めるには、それぞれ include-drafts
パラメータまたは include-deleted
パラメータを使用します。この例には、コンテンツ フィードの下書きエントリが含まれています。
GET /feeds/content/domainName/siteName?include-drafts=true
全文検索
サイトのコンテンツ全体を検索するには、q
パラメータを使用して全文検索を行います。
GET /feeds/content/domainName/siteName?q=Text%20I%20am%20looking%20for
コンテンツの作成
新しいコンテンツ(ウェブページ、リストページ、ファイル キャビネット ページ、お知らせページなど)は、コンテンツフィードに HTTP POST
を送信することで作成できます。
https://sites.google.com/feeds/content/domainName/siteName
サポートされているエントリタイプの一覧については、リファレンス ガイドの kind
パラメータをご覧ください。
新しいアイテム / ページの作成
この例では、サイトのトップレベルの下に新しい webpage
を作成し、ページ本文の XHTML を含め、見出しのタイトルを「New WebPage Title」に設定します。
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>
成功すると、サーバーは 201 Created
とエントリのコピーを返します。
カスタム URL パスでアイテムやページを作成する
デフォルトでは、上記の例は URL http://sites.google.com/domainName/siteName/new-webpage-title
の下に作成され、ページの見出しは「新しいウェブページのタイトル」になります。つまり、<atom:title>
は URL の new-webpage-title
に正規化されます。ページの URL パスをカスタマイズするには、<sites:pageName>
要素を設定します。
この例では、ページの見出しが「ファイル ストレージ」の新しい filecabinet
を作成しますが、<sites:pageName>
要素を指定して URL http://sites.google.com/domainName/siteName/files
の下にページを作成します。
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>
サーバーは、ページの URL パスの命名に次の優先ルールを使用します。
<sites:pageName>
(存在する場合)。a-z, A-Z, 0-9, -, _
を満たす必要があります。<atom:title>
: pageName が存在しない場合、null にすることはできません。正規化では、空白文字を削除して「-」に圧縮し、a-z, A-Z, 0-9, -, _
と一致しない文字を削除します。
たとえば、「Custom_Page2」はサーバーで受け入れられます。
サブページを作成する
親ページの下にサブページ(子)を作成するには、新しい Atom エントリに <link rel="http://schemas.google.com/sites/2008#parent">
を含めます。リンクの href
属性を親エントリのセルフリンクに設定します。
この例では、エントリ ID PARENT_ENTRY_ID
の親のお知らせページの下に、ヘッダーが「お知らせ」の新しい announcement
を作成します。ページの本文の XHTML コンテンツも含まれます。
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>
ページ テンプレート
ページ テンプレートの作成
ページ テンプレートの作成プロセスは、新しいアイテム / ページの作成やサブページの作成と同じです。違いは、category
を追加し、用語とラベルをそれぞれ「http://schemas.google.com/g/2005#template」と「template」に設定することです。
この例では、新しい 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>
テンプレートからページを作成する
ページ テンプレートの作成と同様に、ページ テンプレートのセルフリンクを指す rel='http://schemas.google.com/sites/2008#template' を指す <link>
を含めることで、テンプレートから新しいページをインスタンス化できます。
この例では、ファイル キャビネットを定義する既存のページ テンプレートから新しい filecabinet
ページを作成します。
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>
注: テンプレートで <category>
が定義されている場合でも、エントリに <category>
を含める必要があります。また、<content>
要素を含めると、サーバーによって拒否されます。
ファイルのアップロード
Google サイトと同様に、API を使用してファイル キャビネット ページや親ページに添付ファイルをアップロードできます。
親に添付ファイルをアップロードするには、コンテンツ フィード URL に HTTP POST
リクエストを送信します。
https://sites.google.com/feeds/content/domainName/siteName
POST
本文は MIME マルチパート リクエストである必要があります。これにより、ファイルの内容と、アタッチメントのメタデータを含む <atom:entry>
を組み合わせることができます。<atom:entry>
は、アタッチメントを作成する場所を指定するために、親エントリのセルフリンクを参照する必要があります。詳細については、サブページを作成するをご覧ください。
添付ファイルをアップロードしています
以下は、ID が PARENT_ENTRY_ID
のファイル キャビネットに PDF ファイルをアップロードする例です。アタッチメントが作成され、タイトルは「PDF File」になります。説明は「HR packet」(省略可)になります。
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--
アップロードが成功すると、サーバーは 201 Created
と新しく作成されたアタッチメント エントリのコピーを返します。
フォルダに添付ファイルをアップロードする
添付ファイルを filecabinet
の既存のフォルダにアップロードするには、「term」属性にフォルダの名前を設定したカテゴリを含めます。
<category scheme="http://schemas.google.com/sites/2008#folder" term="FolderName">
ウェブ アタッチメント
ウェブ添付ファイルは特別な種類の添付ファイルです。基本的に、これらはファイルキャビネットのリスティングに追加できる、ウェブ上の他のファイルへのリンクです。この機能は、Google サイトの管理画面の [URL でファイルを追加] アップロード方法に似ています。
注: ウェブ添付は、ファイル キャビネットの下にのみ作成できます。他のタイプのページにはアップロードできません。
この例では、ID FILECABINET_ENTRY_ID
で参照されるファイルキャビネットの下に webattachment
を作成します。タイトルと説明(省略可)はそれぞれ「GoogleLogo」と「nice colors」に設定されています。
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
は、ユーザーのファイルキャビネットに、http://www.google.com/images/logo.gif の画像を指すリンクを作成します。
コンテンツの更新
edit
リンクに対する 1 回の PUT
リクエストで、任意のページのメタデータ(タイトル、pageName など)とページ コンテンツを編集できます。リクエストの本文には、更新されたページを記述する Atom エントリを含める必要があります。このルールの例外は、添付ファイルのエントリです。このエントリは、添付ファイルのメタデータを更新する場合にのみ使用できます。添付ファイルの内容を変更するには、未加工データを PUT
リクエストの本文としてアタッチメントの edit-media
リンクに含めます。また、MIME マルチパート リクエストを使用して、メタデータと添付ファイルの内容の両方を一度に更新することもできます。
更新によって別のクライアントの変更が上書きされないことを確認するには、元のエントリの ETag 値を含めます。これを行うには、HTTP If-Match
ヘッダーで ETag 値を指定する方法と、更新されたエントリに元のエントリの gd:etag
属性を含める方法があります。元のエントリの ETag 値を確認するには、<entry>
要素の gd:etag
属性を調べます。メディア エントリの場合、メディアの ETag は edit-media
リンクの gd:etag
属性で使用できます。
エントリを取得した後、誰かがエントリを更新したかどうかに関係なく、エントリを更新する場合は、If-Match: *
を使用し、ETag を含めません。ETag の詳細については、Google Data APIs リファレンス ガイドをご覧ください。
アイテムのメタデータまたは html コンテンツの更新
エントリのメタデータまたは HTML コンテンツを更新するには、HTTP PUT
をエントリの edit
リンクに送信します。
次の例では、listpage
エントリ(ID ENTRY_ID
で表されます)を次のように変更して更新します。
- タイトルが「更新されたコンテンツ」に変更されます
- HTML コンテンツの更新
- リストの最初の列の見出しが [オーナー] に更新されます。
- ページの URL パスが
<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/"CEEBRn0ymA9WxJWEUw.""> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#listpage" label="listpage"/> <title>Updated Title</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">Updated Content</div> </content> <gs:worksheet name="listpage"/> <gs:header row="1"/> <gs:data startRow="2"> <gs:column index="A" name="Owner"/> <gs:column index="B" name="Decription"/> <gs:column index="C" name="Completed"/> </gs:data> <sites:pageName>newPagePath</sites:pageName> </entry>
注: エントリ(サーバーから返されたもの)には、上記の例よりも多くの要素が含まれます。
添付ファイルの内容を置き換える
以下に、添付ファイルの内容を置き換えながら、メタデータは変更しない例を示します。リクエストに新しいコンテンツが含まれているため、添付エントリの edit-media
リンクが使用されます。
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 ...
添付ファイルのメタデータとコンテンツの更新
添付ファイルのメタデータとコンテンツの両方を同時に更新する例を次に示します。添付ファイルの名前が「新しいタイトル」に更新され、その内容が .zip ファイルの内容に置き換えられます。リクエストに新しいファイル コンテンツが含まれているため、添付エントリの edit-media
リンクが使用されます。
メタデータの ETag を含めると、メディア コンテンツの更新によってメタデータの ETag が変更されるため、メディア コンテンツにも暗黙的な If-Match
が提供されます。
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
コンテンツの削除
Google サイトからアイテムを削除するには、まずエントリを取得してから、エントリの edit
URL に DELETE
リクエストを送信します。これは、アイテムのメタデータや html コンテンツを更新するときに使用する URL と同じです。
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>
エントリが正常に削除されると、サーバーは HTTP 200 OK
を返します。
取得した後、別のクライアントによって変更されたエントリを削除しないようにするには、元のエントリの ETag 値が含まれる HTTP If-Match
ヘッダーを含めます。<entry>
要素の gd:etag
属性を調べることにより、元のエントリの ETag 値を特定できます。
エントリを取得した後、誰かがエントリを更新したかどうかに関係なく、エントリを削除する場合は、If-Match: *
を使用し、ETag を含めません。(この場合、エントリを削除する前にそのエントリを取得する必要はありません)。
ETag について詳しくは、Google Data APIs リファレンス ガイドをご覧ください。
添付ファイルのダウンロード
添付ファイルのエントリを取得したら、エントリの <content>
src リンクに認証済み HTTP GET
を送信してファイルをダウンロードできます。PDF のコンテンツ リンクの例:
<content type="application/pdf" src="http://502377765-a-google-com-s-sites.googlegroups.com/feeds/media/content/domainName/siteName/678942036"/>
ACL フィード
共有権限(ACL)の概要
ACL フィード内の各 ACL エントリは、特定のエンティティ(ユーザー、ユーザー グループ、ドメイン、デフォルト アクセス(公開サイト))のアクセスロールを表します。明示的なアクセス権を持つエンティティに対してのみ、エントリが表示されます。Google サイト UI の共有画面にある [アクセス権のあるユーザー] パネルには、メールアドレスごとに 1 つのエントリが表示されます。そのため、サイトに暗黙的にアクセスできるドメイン管理者も表示されません。
ロール
role 要素は、エンティティに付与できるアクセスレベルを表します。gAcl:role
要素には次の 4 つの値を使用できます。
- reader — 閲覧者(読み取り専用アクセスと同等)。
- writer — 共同編集者(読み取り/書き込みアクセスに相当)。
- owner - 通常はサイト管理者(読み取り/書き込みアクセスに相当)。
スコープ
スコープ要素は、このアクセスレベルを持つエンティティを表します。gAcl:scope
要素には、次の 5 つのタイプがあります。
- user - メールアドレスの値(例: user@gmail.com)。
- group - Google グループのメールアドレス(例: group@domain.com)。
- domain - G Suite のドメイン名(「domain.com」など)。
- Invite - サイトに招待されているが、サイトの ACL にまだ追加されていないユーザー。(GData 1.3 以下が指定されている場合は使用できません)。
- default - 値を持たない「default」タイプのスコープは 1 つだけです(例:
<gAcl:scope type="default">
)。このスコープは、一般公開サイトでユーザーがデフォルトで持つアクセスを制御します。
注: ドメインの gAcl:role
値を「オーナー」アクセスに設定することはできません。ドメインは読み取り専用または書き込み専用にする必要があります。
「invite」スコープについて。
Google アカウントを持っていないユーザーを ACL に追加すると、API から招待スコープが返されます。API から埋め込みトークンを含む URL が返されます。招待を承諾してもらうには、このトークンを招待したユーザーに提供する必要があります。
この招待方法では、Google 以外のユーザーを招待する際に、そのユーザーが使用するメールアドレスを事前に把握する必要はありません。トークンが埋め込まれた招待 URL をクリックすれば、任意のメールアドレスを使用してアクセス登録できます。また、複数のユーザーがこの URL を使用して招待を承諾できるため、1 人のユーザーまたはユーザー グループを招待する場合に便利です。
注: 「招待」のスコープは、Git バージョン 1.4 以降でのみ使用できます。1.3 以下を明示的に指定した場合は機能しません。
ACL フィードの取得
ACL フィードは、サイトの共有権限を制御するために使用できます。次の URI からアクセスできます。
https://sites.google.com/feeds/acl/site/domainName/siteName
フィード パラメータ | 説明 |
---|---|
domainName | 「site 」または G Suite でホストされているドメイン(例: example.com )です。 |
siteName | サイトのウェブスペース名(サイトの URL に記載されています。例: myCoolSite )。 |
サイトフィードの各エントリには、このフィードへのリンクが含まれています。
<link rel="http://schemas.google.com/acl/2007#accessControlList" type="application/atom+xml" href="https://sites.google.com/feeds/acl/site/domainName/siteName"/>
サイトの共有権限を取得するには、ACL フィード URI に HTTP GET
を送信します。
GET /feeds/acl/site/domainName/siteName HTTP/1.1 Host: sites.google.com GData-Version: 1.4 Authorization: <your authorization header here>
サーバーは 200 OK
と 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>
サイトを共有する
ACL フィードは、GET
、POST
、PUT
リクエストを受け入れます。ACL フィードに新しいロールを挿入するには、サイトの ACL フィードに POST
リクエストを送信します。
注: 特定の共有 ACL は、そのような権限を許可するようにドメインが構成されている場合(たとえば、G Suite ドメインのドメイン外での共有が有効になっている場合)にのみ使用できる場合があります。
この例では、サイトに新しい共同編集者(ライター)を追加します。
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>
挿入が成功すると、201 Created
と新しいエントリが返されます。
<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>
「招待」スコープでユーザーを招待する
Google アカウントを持たないユーザーを追加すると、API から URL が返されます。この URL は、招待するユーザーに伝える必要があります。URL をクリックすると、既存のアカウントでログインするか、新しいアカウントを作成して、サイトにアクセスできるようになります。
招待が成功すると、201 Created
と、ユーザーに渡す必要がある URL を含む新しいエントリが返されます。
<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>
グループレベルおよびドメインレベルの共有
サイトを 1 人のユーザーと共有する場合と同様に、Google グループまたは G Suite ドメイン間でサイトを共有できます。必要な scope
値は次のとおりです。
グループのメールアドレスとの共有:
<gAcl:scope type="group" value="group@example.com"/>
ドメイン全体への共有:
<gAcl:scope type="domain" value="example.com"/>
ドメインレベルでの共有は、G Suite ドメインでのみ、またサイトがホストされているドメインでのみサポートされています。たとえば、http://sites.google.com/a/domain1.com/siteA では、domain1.com とサイト全体を共有できますが、domain2.com とは共有できません。G Suite ドメインでホストされていないサイト(http://sites.google.com/site/siteB など)では、ドメインを招待できません。
共有権限の変更
ACL エントリを更新するには、必要に応じてエントリを変更し、エントリの edit
リンクに HTTP PUT
リクエストを送信します。これは、rel 属性が「edit」に設定された単なる <link>
要素です。上の例では、そのリンクは次のようになります。
<link rel='edit' type='application/atom+xml' href='https://sites.google.com/feeds/acl/site/domainName/siteName/user%3Anew_writer%40example.com'/>
以下のスニペットは、new_writer@gmail.com
のロールを「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>
共有権限の削除
このユーザーの権限を削除するには、PUT
リクエストに使用したものと同じ edit
リンクに対して DELETE
リクエストを発行します。
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>
サーバーは 200 OK
を返します。
特別なトピック
フィードまたはエントリを再度取得する
以前に取得したフィードまたはエントリを取得する場合は、前回取得したときとリストまたはエントリが変更されている場合にのみ送信するようにサーバーに指示することで、効率を高めることができます。
このような条件付き取得を行うには、HTTP If-None-Match
ヘッダーを含む HTTP GET
リクエストを送信します。ヘッダーで、リストまたはエントリの ETag を指定します。これは、<feed>
要素または <entry>
要素の gd:etag
属性で確認できます。
サイトフィードを使用する例:
GET /feeds/site/domainName/myOtherTestSite/ GData-Version: 1.4 If-None-Match: W/"Ck8GQXk7fil7ImA9WxNSFk0."
サーバーは、このリクエストを受信すると、リクエストされたアイテムの ETag が指定された ETag と同じかどうかを確認します。ETag が一致する場合、アイテムは変更されていないため、サーバーは HTTP 304 Not Modified
ステータス コードまたは HTTP 412 Precodition Failed
ステータス コードを返します。どちらのステータス コードも、すでに取得したアイテムが最新であることを示します。
ETag が一致しない場合、アイテムは前回リクエストした後で変更されているため、サーバーはアイテムを返します。
ETag について詳しくは、Google Data APIs リファレンス ガイドをご覧ください。
バッチ処理
バッチ リクエストを使用すると、クライアントは各オペレーションを個別に送信するのではなく、1 つのリクエストで複数のオペレーションを実行できます。
サーバーはリクエストされた変更をできるだけ多く実行し、各オペレーションの成功または失敗の評価に使用できるステータス情報を返します。Google Data API でのバッチ処理の詳細については、Google Data API によるバッチ処理をご覧ください。
バッチフィード内のすべてのオペレーションには <id> 要素があります(挿入オペレーションは除く)。この要素は、コンテンツ フィードの更新、削除、クエリに通常使用するリクエスト URL と同じです。たとえば、編集を更新する場合は、<id> を該当するエントリの edit
リンクに設定します。ターゲット エントリの識別に使用されます。新しいエントリには <id> 要素がありません。これは、まだ作成されていないためです。代わりに、<batch:id> で文字列値を定義できます。この値はサーバーのレスポンスで返され、対応するエントリの検索に使用されます。
バッチ リクエストを実行するには、バッチフィードを作成し、フィードのバッチリンクに HTTP POST
を送信します。
<link rel="http://schemas.google.com/g/2005#batch" type="application/atom+xml" href="https://sites.google.com/feeds/content/site/siteName/batch"/>
次の例は、ウェブページのエントリのクエリ、挿入、更新、削除を行う方法を示しています。
POST /feeds/content/site/siteName/batch HTTP/1.1 Host: sites.google.com Accept: */* If-Match: * GData-Version: 1.4 Authorization: <your authorization header here> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gd="http://schemas.google.com/g/2005" xmlns:batch='http://schemas.google.com/gdata/batch'> <entry> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id> <batch:operation type="query"/> </entry> <entry> <batch:id>1</batch:id> <batch:operation type='insert'/> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>New Webpage1</title> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml">HTML body goes here</div> </content> </entry> <entry gd:etag=""YDgpeyI.""> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID2</id> <batch:operation type='update'/> <category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/> <title>Updated Title for Webpage2</title> ... <batch:operaation type="update"/> </entry> <entry gd:etag=""YassseyI.""> <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID3</id> <batch:operation type='delete'/> </entry> </feed>
返されるフィードには、オペレーションごとに 1 つの結果エントリが含まれます。
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006"
xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch"
xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id>
<updated>2009-11-10T22:44:08.369Z</updated>
<title>Batch Feed</title>
<entry gd:etag=""YDgpsdfeyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id>
<published>2009-08-31T04:42:45.251Z</published>
<updated>2009-10-25T22:46:13.729Z</updated>
<app:edited xmlns:app="http://www.w3.org/2007/app">2009-10-25T22:46:13.671Z</app:edited>
<category scheme="http://schemas.google.com/g/2005#kind"
term="http://schemas.google.com/sites/2008#webpage" label="webpage"/>
<title>Page Title</title>
...
<batch:status code="200" reason="Success"/>
<batch:operation type="query"/>
</entry>
<entry gd:etag=""YDsseyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID4</id>
<published>2009-11-10T22:44:08.531Z</published>
<updated>2009-11-10T22:44:08.560Z</updated>
<app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-10T22:44:08.531Z</app:edited>
<category scheme="http://schemas.google.com/g/2005#kind" term="http://schemas.google.com/sites/2008#webpage" label="webpage"/>
<title>New Webpage1</title>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox">
<tbody>
<tr>
<td class="sites-layout-tile sites-tile-name-content-1">
<div>HTML body goes here</div>
</td>
</tr>
</tbody>
</table>
</div>
</content>
...
<batch:id>1</batch:id>
<batch:status code="201" reason="Created"/>
<batch:operation type="insert"/>
</entry>
<entry gd:etag=""YDkpeyI."">
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID2</id>
<updated>2009-11-10T22:44:09.296Z</updated>
<title>Updated Title for Webpage2</title>
...
<sites:pageName>updated-title-for-webpage2</sites:pageName>
<sites:revision>5</sites:revision>
<batch:status code="200" reason="Success"/>
<batch:operation type="update"/>
</entry>
<entry>
<id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID3</id>
<title>Deleted</title>
<content>Deleted</content>
<batch:status code="200" reason="Success"/>
<batch:operation type="delete"/>
</entry>
</feed>