يتطلّب تفويضًا
يمكنك طلب بيانات زيارات البحث باستخدام الفلاتر والمَعلمات التي تحدّدها. تعرض الطريقة صفر صف أو أكثر مجمّعة حسب مفاتيح الصفوف (السمات) التي تحدّدها. يجب تحديد نطاق زمني يتضمّن يومًا واحدًا أو أكثر.
عندما يكون التاريخ أحد السمات، يتم حذف أي أيام لا تتوفّر فيها بيانات من قائمة النتائج. لمعرفة الأيام التي تتضمّن بيانات، أرسِل طلب بحث بدون فلاتر مجمّعة حسب التاريخ، وذلك للنطاق الزمني المطلوب.
يتم ترتيب النتائج حسب عدد النقرات تنازليًا. إذا كان لصفَّين عدد النقرات نفسه، يتم ترتيبهما بطريقة عشوائية.
يمكنك الاطّلاع على نموذج Python لاستدعاء هذه الطريقة.
تخضع واجهة برمجة التطبيقات لقيود داخلية في Search Console، ولا تضمن عرض جميع صفوف البيانات، بل أهمها.
الاطّلاع على حدود كمية البيانات المتاحة
POST https://www.googleapis.com/webmasters/v3/sites/https%3A%2F%2Fwww.example.com%2F/searchAnalytics/query?key={MY_API_KEY} { "startDate": "2015-04-01", "endDate": "2015-05-01", "dimensions": ["country","device"] }
طلب
طلب HTTP
POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query
المعلمات
اسم المعلَمة | القيمة | الوصف |
---|---|---|
مَعلمات المسار | ||
siteUrl | string | عنوان URL للموقع الإلكتروني على النحو المحدّد في Search Console أمثلة: http://www.example.com/ (لموقع إلكتروني يبدأ بعنوان URL) أو sc-domain:example.com (لموقع إلكتروني على النطاق) |
التفويض
يتطلّب هذا الطلب الحصول على إذن باستخدام نطاق واحد على الأقل من النطاقات التالية (مزيد من المعلومات حول المصادقة ومنح الإذن).
النطاق |
---|
https://www.googleapis.com/auth/webmasters.readonly |
https://www.googleapis.com/auth/webmasters |
نص الطلب
في نص الطلب، قدِّم البيانات بالبنية التالية:
{ "startDate": string, "endDate": string, "dimensions": [ string ], "type": string, "dimensionFilterGroups": [ { "groupType": string, "filters": [ { "dimension": string, "operator": string, "expression": string } ] } ], "aggregationType": string, "rowLimit": integer, "startRow": integer }
اسم السمة | القيمة | الوصف | ملاحظات |
---|---|---|---|
startDate | string | [مطلوب] تاريخ بدء النطاق الزمني المطلوب، بالتنسيق YYYY-MM-DD، بتوقيت المحيط الهادئ (UTC - 7:00/8:00) يجب أن يكون أقل من أو يساوي تاريخ الانتهاء. يتم تضمين هذه القيمة في النطاق. | |
endDate | string | [مطلوبة] تاريخ انتهاء النطاق الزمني المطلوب، بالتنسيق YYYY-MM-DD، بتوقيت المحيط الهادئ (UTC - 7:00/8:00). يجب أن يكون تاريخ الانتهاء أكبر من تاريخ البدء أو مساويًا له. يتم تضمين هذه القيمة في النطاق. | |
dimensions[] | list | [اختياري] صفر أو أكثر من السمات لتجميع النتائج حسبها. يتم تجميع النتائج بالترتيب الذي تقدّم به هذه السمات. يمكنك استخدام أي اسم سمة في dimensionFilterGroups[].filters[].dimension بالإضافة إلى "التاريخ" و "الساعة". يتمّ دمج قيم سمة التجميع لإنشاء مفتاح فريد لكلّ صفّ من صفوف النتائج. في حال عدم تحديد أي سمات، سيتم دمج جميع القيم في صف واحد. ليس هناك حدّ أقصى لعدد السمات التي يمكنك تجميعها، ولكن لا يمكنك التجميع حسب السمة نفسها مرّتين. مثال: [البلد، الجهاز] | |
searchType | string | تم إيقاف هذه السمة نهائيًا، لذا يُرجى استخدام type بدلاً منها | |
type | string | [اختياري] فلترة النتائج حسب النوع التالي:
| |
dimensionFilterGroups[] | list | [اختياري] صفر أو أكثر من مجموعات الفلاتر التي سيتم تطبيقها على قيم تجميع السمات. يجب أن تتطابق جميع مجموعات الفلاتر لكي يتم عرض صف في الردّ. ضمن مجموعة فلاتر واحدة، يمكنك تحديد ما إذا كان يجب أن تتطابق جميع الفلاتر، أو يجب أن يتطابق فلتر واحد على الأقل. | |
dimensionFilterGroups[].groupType | string | تحديد ما إذا كان يجب أن تعرض جميع الفلاتر في هذه المجموعة القيمة "صحيح" (and)، أو ما إذا كان يجب أن تعرض قيمة واحدة أو أكثر القيمة "صحيح" (غير متاح بعد). القيم المقبولة هي:
| |
dimensionFilterGroups[].filters[] | list | [اختياري] صفر أو أكثر من الفلاتر لاختبار الصف. يتكوّن كل فلتر من اسم سمة وعامل تشغيل وقيمة. الحدّ الأقصى للطول هو 4096 حرفًا. أمثلة: country equals FRA query contains mobile use device notContains tablet | |
dimensionFilterGroups[].filters[].dimension | string | السمة التي ينطبق عليها هذا الفلتر. يمكنك الفلترة حسب أي سمة مُدرَجة هنا، حتى إذا لم تكن تُجري تجميعًا حسب تلك السمة. القيم المقبولة هي:
| |
dimensionFilterGroups[].filters[].operator | string | [اختياري] طريقة مطابقة القيمة المحدّدة (أو عدم مطابقتها) لقيمة السمة في الصف القيم المقبولة هي:
| |
dimensionFilterGroups[].filters[].expression | string | القيمة التي يجب أن يطابقها الفلتر أو يستبعدها، وذلك حسب عامل التشغيل | |
aggregationType | string | [اختياري] كيفية تجميع البيانات في حال التجميع حسب الموقع، يتم تجميع كل البيانات الخاصة بالموقع نفسه. أما في حال التجميع حسب الصفحة، فيتم تجميع كل البيانات حسب معرّف الموارد المنتظم الأساسي. إذا كنت تريد الفلترة أو التجميع حسب الصفحة، اختَر "تلقائي"، وإلا يمكنك التجميع حسب الموقع الإلكتروني أو حسب الصفحة، وذلك استنادًا إلى الطريقة التي تريد احتساب بياناتك بها. راجِع مستندات المساعدة لمعرفة كيف يتم احتساب البيانات بشكل مختلف حسب الموقع الإلكتروني مقارنةً بالصفحة. ملاحظة: إذا كنت تُجمّع أو تفلتر حسب الصفحة، لا يمكنك التجميع حسب الموقع. إذا حدّدت أي قيمة أخرى غير "تلقائي"، سيتطابق نوع التجميع في النتيجة مع النوع المطلوب، أو ستتلقّى رسالة خطأ إذا طلبت نوعًا غير صالح. لن تغيّر واجهة برمجة التطبيقات نوع التجميع أبدًا إذا كان النوع المطلوب غير صالح. القيم المقبولة هي:
| |
rowLimit | integer | [اختياري؛ النطاق الصالح هو 1 إلى 25,000؛ القيمة التلقائية هي 1,000] الحد الأقصى لعدد الصفوف المطلوب عرضها. للتنقّل بين صفحات النتائج، استخدِم الإزاحة startRow . | |
startRow | integer | [اختياري؛ القيمة التلقائية هي 0] فهرس مستند إلى الصفر للصف الأول في الردّ. يجب أن يكون رقمًا غير سالب. إذا كان startRow يتجاوز عدد النتائج لطلب البحث، سيكون الردّ ناجحًا مع عدم توفّر أي صفوف. | |
dataState | string | [اختياري] إذا كانت القيمة "all" (غير حساسة لحالة الأحرف)، ستتضمّن البيانات بيانات حديثة. إذا كانت القيمة هي "final" (غير حساسة لحالة الأحرف) أو إذا تم حذف هذه المَعلمة، ستتضمّن البيانات التي يتم إرجاعها البيانات النهائية فقط. إذا كانت القيمة هي "hourly_all" (غير حساسة لحالة الأحرف)، ستتضمّن البيانات تفصيلاً لكل ساعة. سيشير ذلك إلى أنّ البيانات الخاصة بكل ساعة تتضمّن بيانات جزئية ويجب استخدامها عند التجميع حسب بُعد الساعة في واجهة برمجة التطبيقات. |
الردّ
يتم تجميع النتائج وفقًا للسمات المحدّدة في الطلب. سيتم تجميع جميع القيم التي تتضمّن المجموعة نفسها من قيم السمات في صف واحد. على سبيل المثال، إذا كنت تصنّف حسب سمة البلد، سيتم تجميع كل النتائج الخاصة بـ "الولايات المتحدة الأمريكية" معًا، وكل النتائج الخاصة بـ "جزر المالديف" معًا، وهكذا. إذا تم التجميع حسب البلد والجهاز، سيتم تجميع جميع النتائج الخاصة بـ "الولايات المتحدة، جهاز لوحي"، وجميع النتائج الخاصة بـ "الولايات المتحدة، جهاز جوّال"، وهكذا. راجِع مستندات تقرير "إحصاءات البحث" للتعرّف على تفاصيل طريقة احتساب النقرات ومرّات الظهور وما إلى ذلك، ومعرفة دلالاتها.
يتم ترتيب النتائج حسب عدد النقرات، بترتيب تنازلي، ما لم يتم التجميع حسب التاريخ، وفي هذه الحالة يتم ترتيب النتائج حسب التاريخ، بترتيب تصاعدي (الأقدم أولاً، والأحدث آخرًا). في حال تساوي قيمتَي صفَّين، يكون ترتيب الفرز عشوائيًا.
راجِع السمة rowLimit في الطلب لمعرفة الحد الأقصى لعدد القيم التي يمكن عرضها.
{ "rows": [ { "keys": [ string ], "clicks": double, "impressions": double, "ctr": double, "position": double } ], "responseAggregationType": string }
اسم السمة | القيمة | الوصف | ملاحظات |
---|---|---|---|
rows[] | list | قائمة بالصفوف مجمّعة حسب القيم الرئيسية بالترتيب الوارد في طلب البحث | |
rows[].keys[] | list | قائمة بقيم السمات لهذا الصف، ويتم تجميعها وفقًا للسمات الواردة في الطلب، وبالترتيب المحدّد في الطلب | |
rows[].clicks | double | انقر على عدد الصفوف. | |
rows[].impressions | double | عدد مرّات الظهور للصف | |
rows[].ctr | double | نسبة النقر إلى الظهور للصف تتراوح القيم من 0 إلى 1.0، بما في ذلك هذين الرقمَين. | |
rows[].position | double | متوسط موضع الظهور في نتائج البحث | |
responseAggregationType | string | كيف تم تجميع النتائج اطّلِع على مستندات المساعدة للتعرّف على كيفية احتساب البيانات بشكل مختلف حسب الموقع الإلكتروني مقارنةً بالصفحة. القيم المقبولة هي:
| |
metadata | object | عنصر يمكن إرجاعه مع نتائج طلب البحث، ويقدّم سياقًا حول حالة البيانات. عند طلب بيانات حديثة (باستخدام جميع التواريخ والأوقات الواردة في هذا العنصر هي بتوقيت المنطقة الزمنية يعتمد الحقل المحدّد الذي يتم عرضه ضمن هذا العنصر على طريقة تجميع البيانات في الطلب:
|
جرّب الآن
استخدِم "مستكشف واجهات برمجة التطبيقات" أدناه لطلب هذه الطريقة من البيانات المباشرة والاطّلاع على الردّ.