دليل البروتوكول

تسمح واجهة برمجة التطبيقات لمواقع Google الكلاسيكية لتطبيقاتك بالوصول إلى المحتوى ونشره وتعديله ضمن موقع مصمم في مواقع Google. بالإضافة إلى ذلك، يمكن لتطبيقك طلب قائمة بالأنشطة الحديثة واسترجاع سجلّ النُسخ السابقة وتحميل أو تنزيل المرفقات والملفات.

الجمهور

يفترض هذا المستند أنك تفهم الأفكار العامة وراء بروتوكول Google Data APIs.

هذا المستند مخصص للمبرمجين الذين يريدون كتابة تطبيقات العميل التي يمكنها التفاعل مع مواقع Google. ويوفر سلسلة من الأمثلة على تفاعلات واجهة برمجة التطبيقات للبيانات الأساسية باستخدام تنسيق XML/HTTP الخام، مع تفسيرات. بعد قراءة هذا المستند، يمكنك معرفة المزيد حول التفاعل مع واجهة برمجة التطبيقات باستخدام مكتبات العملاء من خلال قراءة أمثلة خاصة بكل لغة وموجودة في الأدلة الأخرى في شريط التنقل بالجانب الأيسر.

كمرجع للمواد المضمّنة في هذا الدليل، راجع الدليل المرجعي.

تفويض الطلبات

عندما يطلب التطبيق بيانات مستخدمين غير متاحة للجميع، يجب أن يتضمّن رمزًا مميّزًا للمصادقة. ويساعد الرمز المميز محرك البحث Google في التعرّف على تطبيقك.

نبذة عن بروتوكولات التفويض

يجب أن يستخدم تطبيقك OAuth 2.0 للسماح بالطلبات. ولا يُسمح باستخدام أي بروتوكولات أخرى للموافقة على الطلبات. إذا كان تطبيقك يستخدم ميزة تسجيل الدخول باستخدام حساب Google، ستتم معالجة بعض جوانب عملية الموافقة على الطلبات نيابةً عنك.

الموافقة على الطلبات باستخدام OAuth 2.0

يجب أن يوافق مستخدم مصادَق عليه على كلّ الطلبات المُرسلة إلى Google Sites Data API للحصول على بيانات غير علنية.

تختلف تفاصيل عملية الموافقة على الطلبات لبروتوكول OAuth 2.0 نوعًا ما حسب نوع التطبيق الذي تكتبه. وتسري العملية العامة التالية على كل أنواع التطبيقات:

  1. عند إنشاء التطبيق، يجب تسجيله باستخدام وحدة التحكم في واجهة Google API. ويوفر محرك البحث Google المعلومات التي ستحتاجها في ما بعد، مثل معرّف العميل وسر العميل.
  2. تفعيل واجهة برمجة التطبيقات لبيانات مواقع Google في وحدة التحكم في واجهة Google API. (يمكنك تخطّي هذه الخطوة إذا كانت واجهة برمجة التطبيقات غير مدرَجة في وحدة التحكم في واجهة Google API.)
  3. إذا احتاج التطبيق الدخول إلى بيانات المستخدِم، يطلب التطبيق من Google نطاقًا معينًا للدخول.
  4. يعرض Google شاشة الموافقة للمستخدم، ويطلب منه السماح لتطبيقك بطلب بعض بياناته.
  5. عند موافقة المستخدِم، يمنح Google تطبيقك رمز دخول قصير الأجل.
  6. يطلب تطبيقك بيانات المستخدِم، من خلال إرفاق رمز الدخول بالطلب.
  7. يعرض Google البيانات المطلوبة بعد تحققه من صلاحية طلبك والرمز المميز.

تستلزم بعض التدفقات إجراء خطوات إضافية، مثل استخدام رموز مميزة للتحديث للحصول على رموز دخول جديدة. لمزيد من المعلومات التفصيلية حول العمليات المتعلقة بمختلف أنواع التطبيقات، راجِع مستندات بروتوكول OAuth 2.0 في Google.

في ما يلي معلومات عن نطاق OAuth 2.0 في واجهة برمجة التطبيقات لبيانات "مواقع Google":

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

لطلب الدخول باستخدام بروتوكول OAuth 2.0، يحتاج التطبيق معلومات عن النطاق، بالإضافة إلى المعلومات التي يوفّرها Google عند تسجيل التطبيق (مثل معرِّف العميل وسر العميل).

الرجوع إلى الأعلى

تحديد إصدار

يجب أن يحدد كل طلب يتم إرساله إلى Google Sites Data API إصدارًا من 1.4. لتحديد رقم الإصدار، استخدام عنوان HTTP يتضمّن العنصر GData-Version:

GData-Version: 1.4

بدلاً من ذلك، إذا لم تتمكّن من ضبط عناوين HTTP، يمكنك تحديد v=1.4 كمَعلمة طلب بحث في عنوان URL. لكن يُفضّل استخدام عنوان HTTP حيثما أمكن.

ملاحظة: توفر مكتبات البرامج عناوين الإصدار المناسبة تلقائيًا، لذا لا تفعل استخدام معلَمة طلب البحث v=1.4 عند استخدام مكتبة برامج.

الرجوع إلى الأعلى

خلاصة الموقع

يمكن استخدام خلاصة الموقع لسرد مواقع 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/&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>

تظهر المواقع الإلكترونية بترتيب أبجدي.

إنشاء مواقع إلكترونية جديدة

ملاحظة: لا تتوفّر هذه الميزة إلا لنطاقات G Suite.

يمكن إدارة المواقع الإلكترونية الجديدة من خلال إنشاء POST HTTP لخلاصة الموقع الإلكتروني، على سبيل المثال:

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>

سيؤدي الطلب أعلاه إلى إنشاء موقع Google جديد يحتوي على "القائمة" المظهر ضمن نطاق G Suite example.com. سيكون عنوان 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/&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>

نسخ موقع إلكتروني

ملاحظة: لا تتوفّر هذه الميزة إلا لنطاقات G Suite.

يمكن إنشاء نسخة طبق الأصل من موقع إلكتروني حالي بالطريقة نفسها التي يتم بها إنشاء نسخة طبق الأصل من موقع إنشاء موقع إلكتروني جديد. ومع ذلك، في إدخال Atom لطلب POST، تضمين <link> مع rel='source' تشير إلى خلاصة الموقع الإلكتروني المطلوب نسخها. أي موقع يحتوي على تم نسخه على هذا الرابط. في ما يلي مثال على إنشاء نسخة طبق الأصل من موقع إلكتروني:

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.
  • يمكنك نسخ موقع إلكتروني من نطاق آخر في انتظار إدراجك كمالك على الموقع الإلكتروني المصدر.

تعديل البيانات الوصفية لموقع إلكتروني

لتعديل عنوان موقع إلكتروني أو ملخّصه، أرسِل PUT HTTP إلى رابط edit الخاص بإدخال الموقع الإلكتروني. على سبيل المثال، سيعدّل المثال التالي عنوان الموقع الإلكتروني السابق ليصبح 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/&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>

إضافة فئات

ملاحظة: لا تتوفّر هذه الميزة إلا لنطاقات G Suite.

يشتمل G Suite لمواقع النطاق على بيانات وصفية للفئات تكون مفيدة لتصنيف المواقع ضمن نطاقك. لإضافة بيانات وصفية للفئة أو تعديلها، أرسِل HTTP PUT إلى رابط edit الخاص بإدخال موقعك الإلكتروني والذي يتضمّن العلامة category. انظر السطر الغامق في المثال التالي:

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>

يُعدّ هذا المثال موقعًا إلكترونيًا حاليًا ويضيف الفئة "موقع الفريق".

يمكنك أيضًا إضافة فئات متعدّدة من خلال إضافة علامات <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/&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>

يضيف هذا المثال فئتين: "موقع الفريق" و"القسم القانوني"

تعيينات عناوين الويب

تمكّن عمليات ربط عناوين الويب مستخدمي "مواقع Google" من ربط نطاقاتهم الخاصة بأحد "مواقع Google". على سبيل المثال: http://www.mydomainsite.com يمكن استخدامها بدلاً من http://sites.google.com/a/domain.com/mysite. يمكنك تعديل تعيينات عناوين الويب للموقع. يمكنك الاطّلاع على مقالة مركز المساعدة للحصول على مزيد من المعلومات.

جارٍ استرجاع عمليات ربط عناوين الويب لأحد المواقع الإلكترونية

لعرض عمليات ربط عناوين الويب لأحد المواقع الإلكترونية، عليك جلب إدخال/خلاصة الموقع الإلكتروني باستخدام المَعلمة 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>

ستظهر عمليات الربط الحالية على أنّها link مع rel='webAddressMapping'. على سبيل المثال، في المثال أعلاه هناك ثلاث نقاط webAddressMapping تشير إلى الموقع الإلكتروني. http://sites.google.com/site/myOtherTestSite

تعديل تعيينات عناوين الويب

ملاحظة: يجب أن تحدد جميع عمليات 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/&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>

ملاحظة: يمكن أيضًا تحديد تعيينات عنوان الويب في وقت إنشاء/نسخ موقع إلكتروني.

الرجوع إلى الأعلى

خلاصة الأنشطة

يمكنك استرجاع الأنشطة (التغييرات) الحديثة لأحد المواقع الإلكترونية من خلال استرجاع خلاصة الأنشطة. كل إدخال في تحتوي خلاصة الأنشطة على معلومات حول تغيير تم إجراؤه في الموقع.

للاستعلام عن خلاصة الأنشطة، أرسِل HTTP GET إلى عنوان URL لخلاصة الأنشطة:

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

ملاحظة: يتطلب الوصول إلى هذه الخلاصة أن تكون أحد المتعاونين أو المالك للموقع الإلكتروني. يجب أن يرسل عميلك عنوان Authorization الصحيح والإشارة إلى الرمز المميّز الذي تم الحصول عليه. في مصادقة الطلبات.

الرجوع إلى الأعلى

خلاصة المراجعات

لجلب سجلّ النُسخ السابقة لأي إدخال محتوى، أرسِل HTTP GET إلى رابط مراجعة الإدخال:

https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID
معلمة الخلاصةالوصف
domainName"site" أو نطاق نطاقك المستضاف على G Suite (مثل example.com).
siteNameاسم مساحة الويب لموقعك الإلكتروني في عنوان URL الخاص بالموقع الإلكتروني (مثل myCoolSite).

للعثور على رابط المراجعات لصفحة/تعليق/مرفق/listitem معين، عليك أولاً استرداد الإدخال من خلاصة المحتوى باستخدام 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/&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>

ملاحظة: يتطلب الوصول إلى هذه الخلاصة أن تكون أحد المتعاونين أو المالك للموقع الإلكتروني. يجب أن يرسل عميلك عنوان Authorization الصحيح وأن يشير إلى الرمز المميّز الذي تم الحصول عليه في مصادقة الطلبات.

الرجوع إلى الأعلى

خلاصة المحتوى

جارٍ استرداد المحتوى

تعرض خلاصة المحتوى المحتوى الحالي لموقع إلكتروني. إرسال طلب 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/&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>

ملاحظة: هذه هي النتائج القليلة الأولى فقط. للتنقل في خلاصة المحتوى بالكامل، اتبع "التالي" للخلاصة :link

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

للحصول على شرح للعناصر الشائعة في Atom، يُرجى الاطّلاع على مرجع بروتوكول Google Data Protocol. في ما يلي توضيح للعناصر التي لها قيمة معيّنة في واجهة برمجة تطبيقات "مواقع Google" الكلاسيكية. وستحتوي بعض الإدخالات من النوع على خصائص إضافية (غير مدرجة أدناه)، بينما ولن يفعله الآخرون. على سبيل المثال، قد يحتوي إدخال 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. وتلك المتعلقة بواجهة برمجة تطبيقات "مواقع Google" الكلاسيكية. للحصول على معلومات أكثر تفصيلاً وعلى قائمة كاملة بالمعلَمات المتوافقة، يمكنك الاطّلاع على الدليل المرجعي

استرداد أنواع إدخالات معيّنة

لاسترجاع نوع معيّن من الإدخالات، استخدِم المَعلمة kind. يعرض هذا المثال webpage إدخال فقط:

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

لعرض أكثر من نوع إدخال واحد، يجب الفصل بين كل kind باستخدام ','. يعرض هذا المثال filecabinet listpage إدخال:

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

بدلاً من ذلك، يمكنك استخدام التنسيق العادي لطلب البحث /-/category لبيانات Google بدلاً من المَعلمة kind:

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

استرداد جميع الإدخالات ضمن الصفحة الرئيسية

إذا كنت تعرف معرّف الإدخال لإحدى الصفحات، يمكنك استخدام المَعلمة 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 للنص الأساسي في الصفحة. وتعيين عنوان العنوان على "عنوان صفحة ويب جديدة":

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> إلى new-webpage-title لعنوان URL. لتخصيص مسار عنوان URL لصفحة ما، يمكنك ضبط عنصر <sites:pageName>.

ينشئ هذا المثال filecabinet جديدة بعنوان صفحة "تخزين الملفات"، ولكن يتم إنشاء الصفحة. ضمن عنوان URL http://sites.google.com/domainName/siteName/files من خلال لتحديد العنصر <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>

يستخدم الخادم قواعد الأولوية التالية لتسمية مسار عنوان URL للصفحة:

  1. <sites:pageName>، إذا كان متوفّرًا. يجب أن يستوفي السمة a-z, A-Z, 0-9, -, _.
  2. <atom:title>، يجب ألا يكون فارغًا في حال عدم توفّر pageName. التسوية هي قطع المسافة البيضاء + تصغيرها إلى "-" أو إزالة الأحرف التي لا تتطابق مع a-z, A-Z, 0-9, -, _.

على سبيل المثال، "Custom_Page2" قبولاً من قبل الخادم.

إنشاء صفحات فرعية

لإنشاء صفحات فرعية (تابعة) ضمن صفحة رئيسية، يجب تضمين <link rel="http://schemas.google.com/sites/2008#parent"> في إدخال Atom جديد. اضبط سمة href للرابط على "الرابط الذاتي" الخاص بالإدخال الرئيسي.

يؤدي هذا المثال إلى إنشاء announcement جديدة بعنوان "إشعار"، ضِمن صفحة الإعلانات الرئيسية التي تحتوي على الإدخال. رقم التعريف: PARENT_ENTRY_ID ويتم أيضًا تضمين محتوى 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>

إنشاء صفحات من نموذج

كما هو الحال في إنشاء نماذج الصفحات، يمكنك إنشاء مثيل لصفحة جديدة من نموذج من خلال تضمين <link> باستخدام rel='http://schemas.google.com/sites/2008#template' مُشارًا إلى الرابط الذاتي لقالب الصفحة.

ينشئ هذا المثال صفحة 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>، فإن تضمين واحد في لا يزال الدخول مطلوبًا. يُرجى العِلم أيضًا أنّ الخادم سيرفضه في حال تضمين عنصر <content>.

جارٍ تحميل الملفات

كما هو الحال في مواقع Google، تسمح لك واجهة برمجة التطبيقات بتحميل المرفقات في صفحات خزانة الملفات والصفحات الأصلية.

لتحميل مرفق إلى أحد الوالدَين، أرسِل طلب HTTP POST إلى عنوان URL لخلاصة المحتوى:

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

يجب أن يكون نص POST عبارة عن طلب MIME متعدد الأجزاء لدمج محتوى الملف مع عنصر <atom:entry> يحتوي على البيانات الوصفية للمرفق. يجب أن تشير السمة <atom:entry> إلى الرابط الذاتي للإدخال الرئيسي، لتحديد مكان إنشاء المرفق. راجِع إنشاء صفحات فرعية للحصول على مزيد من المعلومات.

جارٍ تحميل المُرفقات…

في ما يلي مثال على تحميل ملف PDF إلى خزانة ملفات برقم التعريف PARENT_ENTRY_ID. سيتم إنشاء المرفق. بعنوان "ملف PDF" ووصف (اختياري)، "حزمة الموارد البشرية".

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، يجب تضمين فئة باستخدام "العبارة". الذي تم تعيينه على اسم المجلد:

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

مرفقات الويب

مرفقات الويب هي أنواع خاصة من المرفقات. وهي في الأساس روابط إلى ملفات أخرى على الويب التي يمكنك إضافتها إلى قوائم خزانة الملفات. تتشابه هذه الميزة مع ميزة "إضافة ملف باستخدام عنوان URL". طريقة التحميل في واجهة مستخدم "مواقع Google".

ملاحظة: لا يمكن إنشاء مرفقات الويب إلا ضمن خزانة ملفات. ولا يمكن تحميلها إلى أنواع أخرى من الصفحات.

ينشئ هذا المثال webattachment ضمن خزانة الملفات المُشار إليها باستخدام رقم التعريف FILECABINET_ENTRY_ID. تم ضبط عنوانه ووصفه (الاختياري) على "GoogleLogo". و"ألوان جميلة"، على التوالي.

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

الرجوع إلى الأعلى



تعديل المحتوى

يمكن تعديل البيانات الوصفية (العنوان واسم الصفحة وما إلى ذلك) ومحتوى الصفحة لأي صفحة من خلال طلب PUT واحد يؤدي إلى رابط edit. يجب أن يحتوي نص الطلب على إدخال Atom يصف الصفحة المعدّلة. والاستثناء من هذه القاعدة هو إدخال مرفق، حيث يمكن استخدام الإدخال فقط لتعديل البيانات الوصفية للمرفق. لتغيير محتوى الملف المرفق، ما عليك سوى تضمين البيانات الأولية كنص لطلب PUT في رابط edit-media للمرفق. يمكنك أيضًا تعديل كلّ من البيانات الوصفية ومحتوى الملف المُرفق في آنٍ واحد باستخدام طلب MIME متعدد الأجزاء.

للتأكّد من أنّ التعديل لا يحلّ محلّ التغييرات التي أجراها عميل آخر، عليك تضمين قيمة ETag للإدخال الأصلي. يمكنك القيام بذلك عن طريق توفير قيمة ETag في عنوان If-Match HTTP، أو من خلال تضمين سمة gd:etag للإدخال الأصلي في إدخال محدّث. لتحديد قيمة ETag للإدخال الأصلي، تحقَّق من سمة gd:etag للعنصر <entry>. بالنسبة إلى إدخالات الوسائط، قد تتوفر العلامة ETag للوسائط في السمة gd:etag للرابط edit-media.

إذا كنت تريد تحديث الإدخال بغض النظر عما إذا كان شخص آخر قد حدّثه بعد استرداده، فاستخدم If-Match: * ولا تتضمّن العلامة ETag. لمزيد من المعلومات عن علامات ETag، يُرجى الاطّلاع على مقالة الدليل المرجعي لواجهات Google Data API

تعديل البيانات الوصفية أو محتوى HTML الخاص بعنصر

لتعديل البيانات الوصفية لأحد الإدخالات أو محتوى HTML، أرسِل PUT HTTP إلى رابط edit الخاص بالإدخال.

في ما يلي مثال على تعديل إدخال listpage (يمثّله رقم التعريف ENTRY_ID) من خلال إجراء التغييرات التالية:

  • تم تعديل العنوان إلى "المحتوى المحدَّث"
  • محتوى HTML المعدَّل
  • تم تعديل عنوان العمود الأول من القائمة إلى "المالك"
  • يعدِّل العنصر <sites:pageName> مسار عنوان URL للصفحة.
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>

ملاحظة: سيحتوي الإدخال (كما يعرضه الخادم) على عناصر أكثر من المثال أعلاه.

استبدال محتوى مرفق

في ما يلي مثال على استبدال محتوى مرفق مع ترك بياناته الوصفية بدون تغيير. وبما أنّ الطلب يتضمّن محتوًى جديدًا، فيتم استخدام رابط 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 في البيانات الوصفية يوفّر If-Match ضمنيًا لمحتوى الوسائط أيضًا، لأنّ أي تعديل على أن يؤدي محتوى الوسائط إلى تغيير ETag للبيانات الوصفية.

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"، عليك أولاً استرداد الإدخال، ثم إرسال DELETE طلب الوصول إلى عنوان URL الخاص بالإدخال في edit. وهذا هو عنوان URL نفسه الذي يتم استخدامه عند تعديل البيانات الوصفية لعنصر أو محتوى html.

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>

وإذا تم حذف الإدخال بنجاح، يستجيب الخادم باستخدام 200 OK HTTP.

إذا كنت تريد التأكد من عدم حذف إدخال غيره عميل آخر منذ استرداده، فقم بتضمين عنوان HTTP If-Match الذي يحتوي على قيمة ETag للإدخال الأصلي يمكنك تحديد قيمة ETag للإدخال الأصلي من خلال فحص السمة gd:etag للعنصر <entry>.

إذا كنت تريد حذف الإدخال بغض النظر عما إذا كان شخص آخر قد حدّثه بعد استرداده، فاستخدم If-Match: * ولا تتضمّن العلامة ETag. (في هذه الحالة، لا تحتاج إلى استرداد الإدخال قبل حذفه.)

لمزيد من المعلومات عن علامات ETags، اطلع على الدليل المرجعي لواجهات Google Data APIs.

الرجوع إلى الأعلى



تنزيل المرفقات

بعد أن يكون لديك إدخال مرفق، يمكنك تنزيل الملف من خلال إرسال HTTP GET تمت مصادقته إلى الإدخال رابط src <content>. مثال على رابط محتوى ملف PDF:

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

الرجوع إلى الأعلى

موجز ACL

نظرة عامة على أذونات المشاركة (ACLs)

يمثل كل إدخال لقائمة التحكم بالوصول في خلاصة قائمة التحكم بالوصول دور وصول لكيان معين، إما مستخدم أو مجموعة من المستخدمين أو نطاق أو خيار الوصول التلقائي (وهو موقع إلكتروني متاح للجميع). سيتم عرض الإدخالات للكيانات التي لديها إذن وصول صريح فقط، وسيتم عرض إدخال واحد. لكل عنوان بريد إلكتروني في قسم "الأشخاص الذين لديهم الإذن بالوصول" في شاشة المشاركة في واجهة مستخدم "مواقع Google". وبالتالي، لن يتم عرض مشرفي النطاق، على الرغم من أنّها تملك إمكانية الوصول الضمني إلى أحد المواقع الإلكترونية.

الأدوار

يمثل عنصر الدور مستوى الوصول الذي يمكن أن يتمتع به الكيان. هناك أربع قيم محتملة للعنصر gAcl:role:

  • reader — عارض (أي حق الوصول للقراءة فقط)
  • author: متعاون (يعادل إذن الوصول للقراءة/الكتابة).
  • owner: يكون عادةً مشرف الموقع الإلكتروني (يعادل إذن الوصول للقراءة/الكتابة).

المستويات

يمثل عنصر النطاق الكيان الذي لديه مستوى الوصول هذا. هناك خمسة أنواع محتملة من العنصر gAcl:scope:

  • user — قيمة عنوان بريد إلكتروني، مثل "user@gmail.com".
  • group — عنوان بريد إلكتروني لمجموعة Google، مثل "group@domain.com".
  • النطاق — اسم نطاق في G Suite، مثل "domain.com".
  • submit — مستخدم تمت دعوته إلى الموقع، ولكن لم تتم إضافته بعد إلى قائمة التحكم بالوصول (ACL) للموقع. (غير متاح إذا تم تحديد gdata 1.3 أو أقل.)
  • default: ليس هناك سوى نطاق واحد محتمل من النوع "تلقائي"، والذي لا يحتوي على قيمة (مثل <gAcl:scope type="default">). يتحكم هذا النطاق المحدد في الوصول الذي يتمتع به أي مستخدم بشكل افتراضي على موقع إلكتروني متاح للجميع.

ملاحظة: لا يمكن أن تحتوي النطاقات على القيمة gAcl:role. الضبط على "المالك" الوصول إليها، لا يمكن أن يكونوا سوى القراء أو الكتّاب.

لمحة عن "الدعوة" النطاق.

تعرض واجهة برمجة التطبيقات نطاق الدعوة عند إضافة مستخدم واحد أو أكثر إلى ACL الذين ليس لديهم حساب Google من قبل. تعرض واجهة برمجة التطبيقات عنوان URL يحتوي على رمز مميّز مضمّن يجب تقديمه للمستخدمين المدعوين للسماح لهم بقبول الدعوة.

تتيح لك طريقة الدعوة هذه دعوة مستخدمين غير تابعين لـ Google بدون معرفة مسبقة بعنوان البريد الإلكتروني الذي يريدون استخدامه. وعندما ينقر المستخدمون على عنوان URL الخاص بالدعوة الذي يحتوي على الرمز المميّز المضمّن، يمكنهم الاشتراك للدخول باستخدام أي عنوان بريد إلكتروني يريدونه. بالإضافة إلى ذلك، بإمكان عدة مستخدمين استخدام عنوان URL هذا لقبول الدعوة، لذا قد يكون ذلك مفيدًا في حالة دعوة مستخدم واحد أو مجموعة من المستخدمين.

ملاحظة: تعمل "دعوة" النطاق متاح فقط في الإصدار 1.4 والإصدارات الأحدث من gdata. لن ينجح هذا إذا تم تحديد 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"/>

لاسترداد أذونات المشاركة لموقع ويب، أرسل HTTP GET ومعرّف الموارد المنتظم (URI) لخلاصة ACL:

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)، ما عليك سوى إصدار طلب POST لخلاصة قائمة التحكم بالوصول (ACL) للموقع.

ملاحظة: قد تكون بعض قوائم التحكم بالوصول (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، ستعرض واجهة برمجة التطبيقات عنوان 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>

المشاركة على مستوى المجموعة والنطاق

كما هو الحال بالنسبة إلى مشاركة موقع مع مستخدم واحد، يمكنك مشاركة موقع عبر مجموعة 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) دعوة نطاقات.

تعديل أذونات المشاركة

لتعديل إدخال في قائمة التحكم بالوصول، عدِّل الإدخال حسب الضرورة، وأرسِل طلب HTTP PUT إلى رابط edit للإدخال، وهو ببساطة عنصر <link>، الذي يكون الرمز 'rel' على "تحرير". بالنسبة إلى المثال السابق، هذا الرابط هو:

<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" إلى "القارئ":

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>

جارٍ إزالة أذونات المشاركة

لإزالة أذونات هذا المستخدم، عليك إصدار طلب DELETE لرابط edit نفسه الذي تم استخدامه في طلب 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>

وسيستجيب الخادم بإرسال 200 OK.

الرجوع إلى الأعلى

مواضيع خاصة

استرداد خلاصة أو إدخال مرة أخرى

إذا أردت استرداد خلاصة أو إدخال سبق لك استرداده، يمكنك تحسين الكفاءة من خلال إعلام الخادم على إرسال القائمة أو الإدخال فقط في حال تغيير أيهما منذ آخر مرة استرجعته فيها.

لإجراء هذا النوع من الاسترجاع المشروط، أرسِل طلب HTTP GET يتضمّن بروتوكول HTTP عنوان If-None-Match في العنوان، حدِّد ETag الخاص بالقائمة أو الإدخال، والذي يمكنك العثور عليه في العنصر <feed> أو السمة gd:etag للعنصر <entry>.

مثال على استخدام خلاصة الموقع الإلكتروني:

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، فهذا يعني أنه تم تعديل العنصر منذ آخر مرة طلبته فيها، ويعيد الخادم العنصر.

لمزيد من المعلومات عن علامات ETags، اطلع على الدليل المرجعي لواجهات Google Data APIs.

معالجة الدفعات

تتيح الطلبات المجمّعة لعميلك إمكانية تنفيذ عمليات متعددة في طلب واحد، بدلاً من إرسال كل عملية على حدة.

سيُجري الخادم أكبر قدر ممكن من التغييرات المطلوبة ويعرض معلومات الحالة التي يمكنك استخدامها تقييم نجاح أو فشل كل عملية. لمزيد من التفاصيل حول المعالجة المجمّعة في Google Data API، راجِع المعالجة المجمّعة باستخدام واجهات برمجة التطبيقات للبيانات من Google.

تتضمن كل عملية في الخلاصة المجمّعة عنصر &lt;id&gt;، باستثناء عمليات الإدراج. هذا العنصر هو نفسه عنوان URL للطلب الذي تستخدمه عادةً عند تعديل خلاصة المحتوى أو حذفها أو إرسال طلبات بحث عنها. على سبيل المثال، إذا كنت تعدّل تعديلاً، اضبط السمة &lt;id&gt; على الرابط edit للإدخال المعنيّ. ويتم استخدامه لتحديد الإدخال المستهدف. لا تحتوي الإدخالات الجديدة على عناصر &lt;id&gt; لأنها لم يتم إنشاؤها بعد. ويمكنك بدلاً من ذلك تحديد قيمة سلسلة في &lt;batch:id&gt;، والتي سيتم التي تم إرجاعها في استجابة الخادم وتستخدم للبحث عن الإدخال المقابل.

لإنشاء طلب مُجمَّع، أنشِئ خلاصة مجمّعة وأرسِل رمز 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="&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>

ستتضمّن الخلاصة التي تم عرضها إدخال نتيجة واحدًا لكل عملية:

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

الرجوع إلى الأعلى