इसके लिए अनुमति की ज़रूरत है
अपने हिसाब से तय किए गए फ़िल्टर और पैरामीटर की मदद से, खोज ट्रैफ़िक के डेटा के बारे में क्वेरी करें. यह तरीका, तय की गई पंक्ति की कुंजियों (डाइमेंशन) के हिसाब से ग्रुप की गई शून्य या उससे ज़्यादा पंक्तियां दिखाता है. आपको एक या उससे ज़्यादा दिनों की तारीख की सीमा तय करनी होगी.
अगर तारीख, डाइमेंशन में से एक है, तो नतीजों की सूची में उन दिनों को शामिल नहीं किया जाता जिनमें कोई डेटा नहीं होता. यह जानने के लिए कि किन दिनों का डेटा उपलब्ध है, अपनी पसंद की तारीख की सीमा के लिए, फ़िल्टर के बिना तारीख के हिसाब से ग्रुप की गई क्वेरी जारी करें.
नतीजों को, क्लिक की संख्या के हिसाब से घटते क्रम में लगाया जाता है. अगर दो पंक्तियों में क्लिक की संख्या एक जैसी है, तो उन्हें किसी भी क्रम में लगाया जा सकता है.
इस तरीके को कॉल करने के लिए, 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"]
}अनुरोध
एचटीटीपी अनुरोध
POST https://www.googleapis.com/webmasters/v3/sites/siteUrl/searchAnalytics/query
पैरामीटर
| पैरामीटर का नाम | मान | ब्यौरा |
|---|---|---|
| पाथ पैरामीटर | ||
siteUrl |
string |
Search Console में जोड़ी गई प्रॉपर्टी का यूआरएल. उदाहरण:
http://www.example.com/ (यूआरएल-प्रीफ़िक्स प्रॉपर्टी के लिए) या
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 फ़ॉर्मैट में, पीटी टाइम (यूटीसी - 7:00/8:00) में होनी चाहिए. यह तारीख, खत्म होने की तारीख से पहले या उसके बराबर होनी चाहिए. यह वैल्यू, तारीख की सीमा में शामिल होती है. | |
endDate |
string |
[ज़रूरी है] अनुरोध की गई तारीख की सीमा की खत्म होने की तारीख. यह तारीख, पीटी टाइम (यूटीसी - 7:00/8:00) में, YYYY-MM-DD फ़ॉर्मैट में होनी चाहिए. यह तारीख, शुरू होने की तारीख के बाद या उसके बराबर होनी चाहिए. यह वैल्यू, तारीख की सीमा में शामिल होती है. | |
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 |
[ज़रूरी नहीं] डेटा को कैसे एग्रीगेट किया जाता है. अगर डेटा को प्रॉपर्टी के हिसाब से एग्रीगेट किया जाता है, तो एक ही प्रॉपर्टी का सारा डेटा एग्रीगेट किया जाता है. अगर डेटा को पेज के हिसाब से एग्रीगेट किया जाता है, तो सारा डेटा कैननिकल यूआरआई के हिसाब से एग्रीगेट किया जाता है. अगर पेज के हिसाब से फ़िल्टर या ग्रुप किया जाता है, तो 'अपने-आप' विकल्प चुनें. इसके अलावा, डेटा को प्रॉपर्टी या पेज के हिसाब से एग्रीगेट किया जा सकता है. यह इस बात पर निर्भर करता है कि आपको डेटा को कैसे कैलकुलेट करना है. साइट के हिसाब से बनाम पेज के हिसाब से डेटा को अलग-अलग तरीके से कैलकुलेट करने के बारे में जानने के लिए, सहायता दस्तावेज़ देखें. ध्यान दें: अगर पेज के हिसाब से ग्रुप या फ़िल्टर किया जाता है, तो प्रॉपर्टी के हिसाब से एग्रीगेट नहीं किया जा सकता. अगर 'अपने-आप' के अलावा कोई दूसरी वैल्यू तय की जाती है, तो नतीजे में एग्रीगेशन का टाइप, अनुरोध किए गए टाइप से मैच करेगा. या अगर अमान्य टाइप का अनुरोध किया जाता है, तो गड़बड़ी दिखेगी. अगर अनुरोध किया गया टाइप अमान्य है, तो एपीआई कभी भी एग्रीगेशन का टाइप नहीं बदलेगा. ये वैल्यू डाली जा सकती हैं:
|
|
rowLimit |
integer |
[ज़रूरी नहीं; मान्य सीमा 1–25,000 है; डिफ़ॉल्ट वैल्यू 1,000 है] दिखाई जाने वाली लाइनों की ज़्यादा से ज़्यादा संख्या. नतीजों को पेज के हिसाब से देखने के लिए, startRow ऑफ़सेट का इस्तेमाल करें. |
|
startRow |
integer |
[ज़रूरी नहीं; डिफ़ॉल्ट वैल्यू 0 है] जवाब में पहली लाइन का ज़ीरो-आधारित इंडेक्स. यह एक गैर-ऋणात्मक संख्या होनी चाहिए. अगर startRow, क्वेरी के नतीजों की संख्या से ज़्यादा है, तो जवाब में शून्य लाइनों के साथ, सही जवाब दिखेगा. |
|
dataState |
string |
[ज़रूरी नहीं] अगर "all" (केस-सेंसिटिव नहीं) है, तो डेटा में नया डेटा शामिल होगा. अगर "final" (केस-सेंसिटिव नहीं) है या इस पैरामीटर को शामिल नहीं किया जाता है, तो दिखाए गए डेटा में सिर्फ़ फ़ाइनल डेटा शामिल होगा. अगर "hourly_all" (केस-सेंसिटिव नहीं) है, तो डेटा में हर घंटे का ब्रेकडाउन शामिल होगा. इससे पता चलेगा कि हर घंटे के डेटा में आंशिक डेटा शामिल है. इसका इस्तेमाल, HOUR API डाइमेंशन के हिसाब से ग्रुप करते समय किया जाना चाहिए. |
जवाब
नतीजों को, अनुरोध में तय किए गए डाइमेंशन के हिसाब से ग्रुप किया जाता है. डाइमेंशन की एक जैसी वैल्यू वाले सभी नतीजों को एक ही लाइन में ग्रुप किया जाएगा. उदाहरण के लिए, अगर देश के डाइमेंशन के हिसाब से ग्रुप किया जाता है, तो "usa" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. इसी तरह, "mdv" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. अगर देश और डिवाइस के हिसाब से ग्रुप किया जाता है, तो "usa, tablet" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. इसी तरह, "usa, mobile" के सभी नतीजों को एक साथ ग्रुप किया जाएगा. क्लिक, इंप्रेशन वगैरह को कैलकुलेट करने के तरीके और उनके मतलब के बारे में जानने के लिए, Search Analytics रिपोर्ट का दस्तावेज़ देखें.
नतीजों को, क्लिक की संख्या के हिसाब से घटते क्रम में लगाया जाता है. हालांकि, अगर तारीख के हिसाब से ग्रुप किया जाता है, तो नतीजों को तारीख के हिसाब से बढ़ते क्रम में लगाया जाता है. इसमें सबसे पुरानी तारीख पहले और सबसे नई तारीख बाद में दिखती है. अगर दो लाइनों में क्लिक की संख्या एक जैसी है, तो उन्हें किसी भी क्रम में लगाया जा सकता है.
दिखाई जा सकने वाली वैल्यू की ज़्यादा से ज़्यादा संख्या जानने के लिए, अनुरोध में 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 के बीच होती हैं. इसमें 0 और 1.0 भी शामिल हैं. | |
rows[].position |
double |
खोज नतीजों में औसत रैंक. | |
responseAggregationType |
string |
नतीजों को कैसे एग्रीगेट किया गया.साइट के हिसाब से बनाम पेज के हिसाब से डेटा को अलग-अलग तरीके से कैलकुलेट करने के बारे में जानने के लिए, सहायता दस्तावेज़ देखें.
ये वैल्यू डाली जा सकती हैं:
|
|
metadata |
object |
एक ऑब्जेक्ट, जो आपकी क्वेरी के नतीजों के साथ दिखाया जा सकता है. इससे डेटा की स्थिति के बारे में जानकारी मिलती है. हाल ही का डेटा का अनुरोध करने पर ( इस ऑब्जेक्ट में दी गई सभी तारीखें और समय, इस ऑब्जेक्ट में दिखाई देने वाला खास फ़ील्ड, इस बात पर निर्भर करता है कि आपने अनुरोध में डेटा को कैसे ग्रुप किया है:
|
इसे आज़माएं!
लाइव डेटा पर इस तरीके को कॉल करने और जवाब देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.