يتطلب إذنًا
يمكنك الاستعلام عن بيانات زيارات البحث باستخدام الفلاتر والمَعلمات التي تحدّدها. تعرض الطريقة صفرًا من الصفوف أو أكثر، ويتم تجميعها حسب مفاتيح الصفوف (السمات) التي تحدّدها. يجب تحديد نطاق زمني يتضمّن يومًا واحدًا أو أكثر.
عندما يكون التاريخ إحدى السمات، يتم حذف أي أيام بدون بيانات من قائمة النتائج. لمعرفة الأيام التي تتضمّن بيانات، يمكنك تنفيذ طلب بحث بدون فلاتر، ويتم تجميع البيانات حسب التاريخ، وذلك للنطاق الزمني الذي يهمّك.
يتم ترتيب النتائج حسب عدد النقرات تنازليًا. إذا كان هناك صفّان يتضمّنان عدد النقرات نفسه، يتم ترتيبهما بطريقة عشوائية.
يمكنك الاطّلاع على نموذج 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 بالإضافة إلى "date" و "hour". يتم دمج قيم سمات التجميع لإنشاء مفتاح فريد لكل صف من صفوف النتائج. إذا لم يتم تحديد أي سمات، سيتم دمج جميع القيم في صف واحد. ما مِن حدّ أقصى لعدد السمات التي يمكنك التجميع حسبها، ولكن لا يمكنك التجميع حسب السمة نفسها مرّتين. مثال: [country, device] | |
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 |
[اختيارية] كيفية تجميع البيانات إذا تم التجميع حسب الموقع الإلكتروني، يتم تجميع كل البيانات للموقع الإلكتروني نفسه ، وإذا تم التجميع حسب الصفحة، يتم تجميع كل البيانات حسب عنوان URI الأساسي. إذا كنت تُفلتر أو تُجمِّع البيانات حسب الصفحة، اختَر "تلقائي"، وإلا يمكنك التجميع حسب الموقع الإلكتروني أو حسب الصفحة، وذلك حسب الطريقة التي تريد حساب بياناتك بها. يمكنك الاطّلاع على مستندات المساعدة لمعرفة كيفية حساب البيانات بشكل مختلف حسب الموقع الإلكتروني مقابل الصفحة. ملاحظة: إذا كنت تُجمِّع البيانات أو تُفلترها حسب الصفحة، لا يمكنك التجميع حسب الموقع الإلكتروني. إذا حدّدت أي قيمة أخرى غير "تلقائي"، سيتطابق نوع التجميع في النتيجة مع النوع المطلوب، أو إذا طلبت نوعًا غير صالح، سيظهر لك خطأ. لن تغيّر واجهة برمجة التطبيقات نوع التجميع أبدًا إذا كان النوع المطلوب غير صالح. القيم المقبولة هي:
|
|
rowLimit |
integer |
[اختياري: النطاق الصالح هو من 1 إلى 25,000، والقيمة التلقائية هي 1,000] الحدّ الأقصى لعدد الصفوف المطلوب عرضها للانتقال بين صفحات النتائج، استخدِم الإزاحة startRow. |
|
startRow |
integer |
[اختياري: القيمة التلقائية هي 0] الفهرس المستند إلى الصفر للصف الأول في الردّ يجب أن يكون رقمًا غير سالب. إذا كان startRow يتجاوز عدد نتائج طلب البحث، سيكون الردّ ناجحًا بدون أي صفوف. |
|
dataState |
string |
[اختيارية] إذا كانت القيمة "all" (غير حساسة لحالة الأحرف)، ستشمل البيانات بيانات جديدة. إذا كانت القيمة "final" (غير حساسة لحالة الأحرف) أو إذا تم حذف هذه المَعلمة، ستشمل البيانات المعروضة البيانات النهائية فقط. إذا كانت القيمة "hourly_all" (غير حساسة لحالة الأحرف)، ستشمل البيانات تفصيلاً بالساعة. سيشير ذلك إلى أنّ البيانات الخاصة بكل ساعة تتضمّن بيانات جزئية ويجب استخدامها عند التجميع حسب سمة الساعة في واجهة برمجة التطبيقات. |
الردّ
يتم تجميع النتائج وفقًا للسمات المحدّدة في الطلب. سيتم تجميع جميع القيم التي تتضمّن المجموعة نفسها من قيم السمات في صف واحد. على سبيل المثال، إذا كنت تُجمِّع البيانات حسب سمة البلد، سيتم تجميع جميع النتائج الخاصة بـ "usa" معًا، وجميع النتائج الخاصة بـ "mdv" معًا، وهكذا. إذا كنت تُجمِّع البيانات حسب البلد والجهاز، سيتم تجميع جميع النتائج الخاصة بـ "usa, tablet"، وجميع النتائج الخاصة بـ "usa, mobile"، وهكذا. يمكنك الاطّلاع على مستندات تقرير "إحصاءات البحث" لمعرفة التفاصيل المحدّدة لكيفية احتساب النقرات ومرّات الظهور وما إلى ذلك، ومعنى هذه الإحصاءات.
يتم ترتيب النتائج حسب عدد النقرات، بترتيب تنازلي، إلا إذا كنت تُجمِّع البيانات حسب التاريخ، وفي هذه الحالة يتم ترتيب النتائج حسب التاريخ، بترتيب تصاعدي (الأقدم أولاً والأحدث آخرًا). إذا كان هناك صفّان متساويان، يكون ترتيب الفرز عشوائيًا.
يمكنك الاطّلاع على السمة 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 |
كائن قد يتم عرضه مع نتائج طلب البحث، ما يوفّر سياقًا حول حالة البيانات. عند طلب بيانات حديثة (باستخدام تظهر جميع التواريخ والأوقات المقدَّمة في هذا الكائن في المنطقة الزمنية يعتمد الحقل المحدّد الذي يتم عرضه ضمن هذا الكائن على كيفية تجميع بياناتك في الطلب:
|
جرِّبها الآن.
استخدِم أداة "مستكشف واجهات برمجة التطبيقات" أدناه لاستدعاء هذه الطريقة على بيانات مباشرة والاطّلاع على الردّ.