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

تتيح واجهة برمجة تطبيقات "مواقع 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 Sites Data API:

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.

يمكن إدارة المواقع الإلكترونية الجديدة من خلال إضافة 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>

سيؤدي الطلب أعلاه إلى إنشاء موقع جديد في "مواقع 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 على نطاقك البيانات الوصفية للفئات والتي تكون مفيدة لتصنيف المواقع الإلكترونية ضمن نطاقك. لإضافة البيانات الوصفية للفئة أو تعديلها، أرسِل PUT HTTP إلى رابط 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>

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

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

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

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

لإجراء طلب بحث في خلاصة النشاط، أرسِل GET HTTP إلى عنوان 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 rel="next" type="application/atom+xml" href="https://sites.google.com/feeds/content/domainName/siteName/?start-index=2"/>

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

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



إنشاء المحتوى

يمكن إنشاء محتوى جديد (صفحات الويب وصفحات القوائم وصفحات خزانة الملفات وصفحات الإعلانات وما إلى ذلك) عن طريق إرسال علامة POST HTTP إلى خلاصة المحتوى:

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> إلى الرابط self الخاص بالإدخال الرئيسي، وذلك لتحديد مكان إنشاء المرفق. راجِع إنشاء صفحات فرعية للاطّلاع على مزيد من المعلومات.

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

في ما يلي مثال على تحميل ملف 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، يجب تضمين فئة مع ضبط السمة 'term' على اسم المجلد:

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

مرفقات الويب

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

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

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

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 في عنوان HTTP If-Match، أو من خلال تضمين سمة gd:etag للإدخال الأصلي في الإدخال المحدّث. لتحديد قيمة ETag للإدخال الأصلي، يمكنك التحقق من السمة gd:etag للعنصر <entry>. بالنسبة إلى إدخالات الوسائط، قد تتوفّر علامة ETag للوسائط في السمة gd:etag للرابط edit-media.

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

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

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

فيما يلي مثال على تحديث إدخال listpage (يمثله رقم التعريف 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/&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. (في هذه الحالة، لا تحتاج إلى استرداد الإدخال قبل حذفه.)

لمزيد من المعلومات حول علامات ETag، يُرجى الاطّلاع على الدليل المرجعي لواجهات برمجة التطبيقات لبيانات Google.

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



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

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

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

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

خلاصة ACL

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

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

الأدوار

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

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

المستويات

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

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

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

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

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

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

ملاحظة: لا يتوفّر نطاق "الدعوة" إلا في الإصدار 1.4 من gdata والإصدارات الأحدث. لن ينجح هذا الإجراء إذا كنت تحدّد بشكل صريح 1.3 أو أقل.

استرداد خلاصة ACL

يمكن استخدام خلاصة ACL للتحكم في أذونات مشاركة الموقع ويمكن الوصول إليها من خلال معرف الموارد المنتظم التالي:

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

لاسترداد أذونات مشاركة موقع إلكتروني، أرسل GET وHTTP إلى معرّف الموارد المنتظم (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 وخلاصة إدخالات قائمة التحكم بالوصول:

<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) دعوة نطاقات.

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

لتعديل إدخال قائمة التحكّم بالوصول (ACL)، عدِّل الإدخال حسب الضرورة، وأصدر طلب 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 الخاصة بالقائمة أو الإدخال، والتي يمكنك العثور عليها في السمة gd:etag الخاصة بالعنصر <feed> أو العنصر <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، يعني ذلك أنّه تم تعديل العنصر بعد آخر مرة طلبته، وسيعرض الخادم العنصر.

لمزيد من المعلومات حول علامات ETag، يُرجى الاطّلاع على الدليل المرجعي لواجهات برمجة التطبيقات لبيانات Google.

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

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

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

تحتوي كل عملية في الخلاصة المجمّعة على عنصر <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="&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>

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