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

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

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

لتعديل عنوان موقع إلكتروني أو ملخّصه، أرسِل طلب HTTP PUT إلى رابط 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
مَعلمة الخلاصةالوصف
domainNamesite أو نطاق موقعك المستضاف على 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
مَعلمة الخلاصةالوصف
domainNamesite أو نطاق موقعك المستضاف على G Suite (مثل example.com).
siteNameاسم مساحة الويب الخاصة بموقعك الإلكتروني، ويمكن العثور عليه في عنوان URL الخاص بالموقع الإلكتروني (مثل myCoolSite).

للعثور على رابط المراجعات لصفحة أو تعليق أو مرفق أو عنصر قائمة معيّن، عليك أولاً استرداد الإدخال من خلاصة المحتوى باستخدام CONTENT_ENTRY_ID. سيتضمّن الإدخال الذي تم استرجاعه <atom:link> إلى خلاصة المراجعات. على سبيل المثال:

<link rel="http://schemas.google.com/sites/2008#revision" type="application/atom+xml"
    href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/>

مثال على الطلب والاستجابة:

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

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/"
    xmlns:sites="http://schemas.google.com/sites/2008" xmlns:gs="http://schemas.google.com/spreadsheets/2006"
    xmlns:dc="http://purl.org/dc/terms" xmlns:batch="http://schemas.google.com/gdata/batch"
    xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0">
<id>https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID</id>
<updated>2009-09-10T04:33:35.337Z</updated>
<title>Revisions</title>
<link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml"
    href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/>
<link rel="self" type="application/atom+xml"
    href="https://sites.google.com/feeds/revision/domainName/siteName/CONTENT_ENTRY_ID"/>
<generator version="1" uri="http://sites.google.com">Google Sites</generator>
<openSearch:startIndex>1</openSearch:startIndex>
<entry gd:etag="W/&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 الصحيح والإشارة إلى الرمز المميّز الذي تم الحصول عليه في تفويض الطلبات.

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

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

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

تعرض خلاصة المحتوى المحتوى الحالي لموقع "مواقع Google". أرسِل طلب GET مصادقًا إلى عنوان URL التالي:

https://sites.google.com/feeds/content/domainName/siteName
مَعلمة الخلاصةالوصف
domainNamesite أو نطاق موقعك المستضاف على 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>

ملاحظة: هذه هي النتائج القليلة الأولى فقط. للتنقّل بين صفحات خلاصة المحتوى بالكامل، اتّبِع رابط &quot;التالي&quot; في الخلاصة:

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

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

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

لاسترداد نوع معيّن فقط من الإدخالات، استخدِم المَعلمة 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>، يجب تضمين <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، أدرِج فئة مع ضبط السمة "term" على اسم المجلد:

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

مرفقات الويب

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

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

ينشئ هذا المثال webattachment ضمن خزانة الملفات المشار إليها بالمعرّف FILECABINET_ENTRY_ID. تم ضبط عنوانه ووصفه (اختياري) على GoogleLogo وnice colors على التوالي.

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

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

ينشئ الرمز POST رابطًا في ملف المستخدم ينقل إلى الصورة على العنوان http://www.google.com/images/logo.gif.

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



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

يمكن تعديل البيانات الوصفية (العنوان واسم الصفحة وما إلى ذلك) ومحتوى أي صفحة من خلال طلب 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 Data APIs.

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

لتعديل البيانات الوصفية أو محتوى HTML الخاص بإدخال معيّن، أرسِل طلب HTTP PUT إلى رابط 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="Description"/>
    <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

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



حذف المحتوى

لإزالة عنصر من &quot;موقع Google&quot;، عليك أولاً استرداد الإدخال، ثم إرسال طلب 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>

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

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

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

لمزيد من المعلومات عن علامات ETag، يُرجى الاطّلاع على دليل مراجع Google Data APIs.

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



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

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

الأدوار

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

  • قارئ: هو مستخدم يمكنه الاطّلاع على المحتوى (أي لديه إذن بالقراءة فقط).
  • كاتب: متعاون (يساوي إذن القراءة والتعديل)
  • المالك: يكون عادةً مشرف الموقع الإلكتروني (أي لديه إذن وصول للقراءة والكتابة).

المستويات

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

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

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

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

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

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

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

استرداد خلاصة قائمة التحكّم بالوصول

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

https://sites.google.com/feeds/acl/site/domainName/siteName
مَعلمة الخلاصةالوصف
domainNamesite أو نطاق موقعك المستضاف على 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 وخلاصة لإدخالات قائمة التحكّم بالوصول:

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

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

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

تقبل خلاصة قائمة التحكّم بالوصول طلبات GET وPOST وPUT. لإدراج دور جديد في خلاصة قائمة التحكّم بالوصول، ما عليك سوى إرسال طلب POST إلى خلاصة قائمة التحكّم بالوصول الخاصة بالموقع الإلكتروني.

ملاحظة: قد لا تتوفّر بعض قوائم التحكّم بالوصول الخاصة بالمشاركة إلا إذا تم ضبط النطاق للسماح بهذه الأذونات (مثلاً، إذا تم تفعيل المشاركة خارج النطاق لنطاقات 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" الخاصة به على "edit". في المثال السابق، يكون الرابط على النحو التالي:

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

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

مواضيع خاصة

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

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

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

مثال على استخدام خلاصة الموقع:

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

عندما يتلقّى الخادم هذا الطلب، يتحقّق مما إذا كانت السلعة التي طلبتها تتضمّن علامة ETag نفسها التي حدّدتها. إذا تطابقت علامات ETag، يعني ذلك أنّه لم يتم تغيير العنصر، ويعرض الخادم إما رمز حالة HTTP 304 Not Modified أو رمز حالة HTTP 412 Precodition Failed. يشير كلا رمزي الحالة إلى أنّ العنصر الذي سبق أن استرددته محدّث.

إذا لم تتطابق علامات ETag، يعني ذلك أنّه تم تعديل العنصر منذ آخر مرة طلبت فيها الوصول إليه، وسيعرض الخادم العنصر.

لمزيد من المعلومات عن علامات ETag، يُرجى الاطّلاع على دليل مراجع Google Data APIs.

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

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

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

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

لإجراء طلب مجمّع، أنشئ خلاصة مجمّعة وأرسِل طلب HTTP POST إلى رابط الخلاصة المجمّعة:

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

يوضّح المثال أدناه كيفية طلب إدخال صفحة ويب وتعديلها وحذفها:

POST /feeds/content/site/siteName/batch HTTP/1.1
Host: sites.google.com
Accept: */*
If-Match: *
GData-Version: 1.4
Authorization: <your authorization header here>

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:sites="http://schemas.google.com/sites/2008"
      xmlns:gd="http://schemas.google.com/g/2005" xmlns:batch='http://schemas.google.com/gdata/batch'>
  <entry>
    <id>https://sites.google.com/feeds/content/site/siteName/ENTRY_ID1</id>
    <batch:operation type="query"/>
  </entry>
  <entry>
    <batch:id>1</batch:id>
    <batch:operation type='insert'/>
    <category scheme="http://schemas.google.com/g/2005#kind"
        term="http://schemas.google.com/sites/2008#webpage" label="webpage"/>
    <title>New Webpage1</title>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml">HTML body goes here</div>
    </content>
  </entry>
  <entry gd:etag="&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>

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