शुरू करना

इस दस्तावेज़ में उस बैकग्राउंड की जानकारी के बारे में बताया गया है जो आपको Google साइट की पुष्टि करने वाले एपीआई का इस्तेमाल करने के लिए चाहिए.

परिचय

Google साइट की पुष्टि करने वाला एपीआई उन डेवलपर के लिए है जो ऐसे ऐप्लिकेशन या सेवाएं लिखना चाहते हैं जो किसी साइट या डोमेन के मालिकाना हक की पुष्टि अपने-आप करते हैं. यह इसलिए ज़रूरी है, क्योंकि Google की कुछ सेवाओं का इस्तेमाल सिर्फ़ वेबसाइट या डोमेन के मालिक कर सकते हैं. आप Google साइट की पुष्टि करने वाले एपीआई का इस्तेमाल करके, यह पुष्टि कर सकते हैं कि पुष्टि किया गया उपयोगकर्ता ही डोमेन या साइट का मालिक है. यह प्रोग्राम के तौर पर, Google की दूसरी सेवाओं को उपलब्ध कराने का पहला चरण हो सकता है.

इस दस्तावेज़ में यह माना जाता है कि आप वेब प्रोग्रामिंग के सिद्धांतों, वेब डेटा फ़ॉर्मैट, और अपनी वेबसाइट या डोमेन की फ़ाइलों या डीएनएस रिकॉर्ड को प्रोग्राम के हिसाब से बदलने की क्षमता के बारे में जानते हैं.

खास जानकारी

उपयोगकर्ता की Google साइट की पुष्टि के डेटा में बदलाव करने के लिए, Google साइट की पुष्टि करने वाले एपीआई का इस्तेमाल किया जा सकता है. उपयोगकर्ता सिर्फ़ कुछ Google की सेवाओं का इस्तेमाल कर सकते हैं. इसके लिए, उन्हें पुष्टि से जुड़े डेटा से पता चलता है कि वे किसी खास वेबसाइट के डोमेन के मालिक हैं. एपीआई का इस्तेमाल करके, आप पुष्टि किए गए उपयोगकर्ताओं के लिए पुष्टि करने वाले टोकन जनरेट कर सकते हैं. ये टोकन आपकी वेबसाइट या डोमेन रिकॉर्ड पर उनकी तरफ़ से कई तरीकों से लगाए जा सकते हैं. टोकन मौजूद होने के बाद, एपीआई को कॉल करके Google से टोकन की जांच करने के लिए कहा जाता है. अगर Google को टोकन मिलता है, तो वह पुष्टि किए गए उपयोगकर्ता को वेबसाइट या डोमेन के मालिक के तौर पर रजिस्टर करता है. एपीआई का इस्तेमाल करके, उपयोगकर्ता की ओर से मालिकाना हक की सूची में बदलाव किया जा सकता है या साइट के मालिकाना हक को पूरी तरह से हटाया भी जा सकता है.

सभी एपीआई कॉल की पुष्टि ऐसे उपयोगकर्ता को करनी चाहिए जिसकी पुष्टि हो चुकी हो. साथ ही, सभी एपीआई कॉल, पुष्टि किए गए उपयोगकर्ता के खाते में लागू किए जाते हैं.

इस एपीआई का इस्तेमाल कब किया जा सकता है, इसके उदाहरण के तौर पर, मान लें कि आप वेब होस्टिंग की सेवा देते हैं. आपके उपयोगकर्ता अपनी साइट के बारे में जानकारी पाने के लिए, Google के Search Console का इस्तेमाल करना चाहते हैं. ऐसा करने के लिए, Google को यह जानने की ज़रूरत है कि वे वाकई इसके मालिक हैं. इसलिए, उपयोगकर्ताओं को एक ऐसा इंटरफ़ेस दें जो साइट के मालिकाना हक की पुष्टि करने के लिए कहता हो. ये ऐप्लिकेशन आपके ऐप्लिकेशन को पुष्टि करने के लिए ऐक्सेस किए जाने वाले डेटा का ऐक्सेस देते हैं. अब Google, अपनी तरफ़ से टोकन का अनुरोध करने वाले कोड को एक्ज़ीक्यूट करता है. इसके बाद, इसे अपनी साइट के स्ट्रक्चर पर फ़ाइल में रखता है और Google से इसकी जांच करने के लिए कहता है. जब Google को यह टोकन मिलता है, तो यह उपयोगकर्ता को साइट का मालिकाना हक देने के लिए, पुष्टि करने वाला डेटा अपडेट करता है. अब वे अपनी ज़रूरत की जानकारी पाने के लिए, Search Console का इस्तेमाल कर सकते हैं.

शुरू करने से पहले

कोई Google खाता प्राप्त करें

पक्का करें कि आपने Google खाता सेट अप कर लिया है. हमारा सुझाव है कि आप डेवलप करने और जांच करने के लिए एक अलग Google खाते का इस्तेमाल करें, ताकि आपका डेटा गलती से न मिट जाए.

साइट की पुष्टि करने के बारे में जानें

अगर आप Google Sites की पुष्टि करने वाले एपीआई के कॉन्सेप्ट से अनजान हैं, तो कोड लिखने से पहले आपको इस दस्तावेज़ को पढ़ लेना चाहिए. साथ ही, पुष्टि करने के लिए इस्तेमाल किए जाने वाले यूज़र इंटरफ़ेस के साथ प्रयोग करके, उससे जुड़े सहायता दस्तावेज़ भी पढ़ने चाहिए.

अनुरोधों को अनुमति देने का तरीका जानें

आपका ऐप्लिकेशन, Google साइट की पुष्टि करने वाले एपीआई को जो भी अनुरोध भेजता है उसमें अनुमति वाला टोकन होना ज़रूरी है. इस टोकन से Google आपके ऐप्लिकेशन की पहचान भी करता है.

अनुमति देने के प्रोटोकॉल के बारे में जानकारी

अनुरोधों को अनुमति देने के लिए, आपके ऐप्लिकेशन में OAuth 2.0 का इस्तेमाल किया जाना चाहिए. अनुमति देने वाले दूसरे प्रोटोकॉल इस्तेमाल नहीं किए जा सकते. अगर आपका ऐप्लिकेशन Google से साइन इन करें का इस्तेमाल करता है, तो अनुमति की कुछ प्रक्रियाएं Google आपके लिए खुद करता है.

OAuth 2.0 से अनुरोधों को अनुमति देना

Google साइट की पुष्टि करने वाले एपीआई को भेजे गए सभी अनुरोधों के लिए अनुमति किसी ऐसे उपयोगकर्ता को देनी चाहिए जिसके पास ऐसा करने का अधिकार हो.

OAuth 2.0 के लिए अनुमति देने की प्रक्रिया या "तरीका" अलग-अलग हो सकता है. यह इस बात पर निर्भर करता है कि ऐप्लिकेशन किस तरह का है. सभी तरह के ऐप्लिकेशन के लिए नीचे दी गई सामान्य प्रक्रिया लागू होती है:

  1. ऐप्लिकेशन बनाने के बाद, उसे Google API (एपीआई) कंसोल का इस्तेमाल करके, रजिस्टर किया जाता है. इसके बाद, Google आपको क्लाइंट आईडी और क्लाइंट सीक्रेट जैसी जानकारी देगा.
  2. Google API (एपीआई) कंसोल में, Google साइट की पुष्टि करने वाला एपीआई चालू करें. (अगर एपीआई को 'API कंसोल' की सूची में नहीं जोड़ा गया है, तो यह चरण छोड़ दें.)
  3. जब आपके ऐप्लिकेशन को उपयोगकर्ता के डेटा को ऐक्सेस करने की ज़रूरत होती है, तब वह Google से, डेटा के खास लिंक का अनुरोध करता है.
  4. Google, उपयोगकर्ता को सहमति वाली स्क्रीन दिखाता है, जिसमें उनसे आपके ऐप्लिकेशन को उनके कुछ डेटा को ऐक्सेस करने की अनुमति मांगी जाती है.
  5. अगर उपयोगकर्ता इसकी अनुमति दे देता है, तो Google आपके ऐप्लिकेशन को कुछ समय के लिए इस्तेमाल किए जा सकने वाला ऐक्सेस टोकन देता है.
  6. आपका ऐप्लिकेशन, ऐक्सेस टोकन से उपयोगकर्ता के डेटा को ऐक्सेस करने का अनुरोध करता है.
  7. अगर Google को पता चलता है कि आपका अनुरोध और टोकन मान्य हैं, तो वह आपके ऐप्लिकेशन को अनुरोध किए गए डेटा का ऐक्सेस दे देता है.

कुछ तरीकों में दूसरे चरण भी शामिल हो सकते हैं, जैसे रिफ़्रेश टोकन इस्तेमाल करके, नया एक्सेस टोकन पाना. अलग-अलग तरह के ऐप्लिकेशन के लिए डेटा ऐक्सेस करने के तरीकों के बारे में ज़्यादा जानकारी पाने के लिए, Google का OAuth 2.0 दस्तावेज़ देखें.

यहां Google साइट पुष्टि एपीआई के लिए, OAuth 2.0 के दायरे की जानकारी दी गई है:

दायरा मतलब
https://www.googleapis.com/auth/siteverification मौजूदा पुष्टि की गई साइटों को पढ़ने का पूरा ऐक्सेस, नई साइटों की पुष्टि करने की सुविधा.
https://www.googleapis.com/auth/siteverification.verify_only नई साइटों की पुष्टि करने की सुविधा, मौजूदा पुष्टि की गई साइटों को पढ़ने का ऐक्सेस नहीं है.

OAuth 2.0 का इस्तेमाल करके, डेटा एक्सेस करने का अनुरोध करने के लिए, आपके ऐप्लिकेशन को अनुरोध के तरीके की जानकारी देनी होगी. साथ ही, वह जानकारी भी देनी होगी जो आपको ऐप्लिकेशन रजिस्टर करते समय, Google से मिली थी (जैसे, क्लाइंट आईडी और क्लाइंट सीक्रेट).

सलाह: Google API की क्लाइंट लाइब्रेरी आपके लिए अनुमति देने की कुछ प्रक्रियाएं खुद कर सकती है. ये लाइब्रेरी कई प्रोग्रामिंग भाषाओं के लिए उपलब्ध होती हैं. ज़्यादा जानकारी के लिए लाइब्रेरी और नमूनों वाला पेज देखें.

Google साइट पुष्टि एपीआई का बैकग्राउंड

कॉन्सेप्ट

इस तरह के वेब रिसॉर्स का उपयोगकर्ता का मालिकाना हक साबित करने के लिए, Google साइट की पुष्टि करने वाले एपीआई का इस्तेमाल किया जा सकता है:

  • डोमेन: डोमेन या सबडोमेन. किसी डोमेन का मालिक, उस डोमेन की सभी साइटों और सबडोमेन का मालिक माना जाता है. उदाहरण के लिए, bar.com के डायरेक्ट मालिक को foo.bar.com का इनडायरेक्ट मालिक भी माना जाता है.
  • साइट: किसी यूआरएल के बेस डोमेन और पाथ से जुड़ा यूआरएल. किसी साइट का मालिक उसके तहत आने वाली सभी साइटों का मालिक माना जाता है. उदाहरण के लिए, “http://www.example.com/site” के मालिक को “http://www.example.com/site/subsite” का मालिक भी माना जाएगा.

डोमेन के मालिकाना हक की पुष्टि, साइट के मालिकाना हक के मुकाबले ज़्यादा होती है. इसलिए, हमारा सुझाव है कि आप डोमेन में पुष्टि करें.

मालिकाना हक इंस्टॉल करने की प्रोसेस, उपयोगकर्ता की ओर से आपके ऐप्लिकेशन की “पुष्टि के लिए टोकन” का अनुरोध करने पर शुरू हो जाती है. पुष्टि करने वाला टोकन एक खास स्ट्रिंग है, जिसे आपके कोड को अपनी वेबसाइट या डोमेन पर डालना होता है. टोकन मौजूद होने के बाद, आपका ऐप्लिकेशन Google साइट की पुष्टि करने वाले एपीआई को अनुरोध भेज सकता है. यह अनुरोध, टोकन की जांच करता है और फ़ाइल का मालिकाना हक मिलने पर उसे रिकॉर्ड करता है.

सीमाएं

सुरक्षा और तकनीकी वजहों से, Google साइट की पुष्टि करने वाला एपीआई किस तरह इस्तेमाल किया जाता है, इस पर कुछ पाबंदियां होती हैं:

  • सिर्फ़ पुष्टि किए गए उपयोगकर्ता के लिए डेटा ऐक्सेस: सभी कार्रवाइयों के लिए उपयोगकर्ता की पुष्टि करने और अनुमति देने की ज़रूरत होती है.
  • सिर्फ़ पुष्टि किए गए उपयोगकर्ता की पुष्टि करने के लिए: एपीआई, सिर्फ़ पुष्टि किए गए खाते के लिए साइटों या डोमेन के मालिकाना हक की पुष्टि कर सकता है. हालांकि, पुष्टि किया गया उपयोगकर्ता किसी साइट के मालिकाना हक की पुष्टि होने के बाद, दूसरे उपयोगकर्ताओं को मालिकाना हक सौंप सकता है. ध्यान दें कि मालिकाना हक की सूची में कोई बदलाव होने पर, सभी मालिकों को ईमेल से सूचना दी जाती है.
  • सिर्फ़ सामान्य यूआरएल और डोमेन नाम. Google साइट की पुष्टि करने वाला एपीआई, आईडीएन (अंतरराष्ट्रीय डोमेन नाम) कोड में बदलने के तरीके के साथ काम नहीं करता. ज़रूरत पड़ने पर, पनीकोडिंग का इस्तेमाल करके सभी यूआरएल, डोमेन नेम, और ईमेल पते के डोमेन को स्टैंडर्ड डोमेन नेम कैरेक्टर सेट (आरएफ़सी 1034 §3.5) में सामान्य बनाएं.

पुष्टि करने के तरीके और टोकन

एपीआई की मदद से, पुष्टि के अलग-अलग चरणों में कॉल किए जा सकते हैं:

  • पुष्टि करने वाला टोकन रखना: पुष्टि किए गए उपयोगकर्ता की साइट पर पुष्टि करने वाला टोकन पाने के लिए, एपीआई कॉल किया जाता है. अगर किसी उपयोगकर्ता के पास एक से ज़्यादा साइटें हैं, तो आपको हर साइट के लिए अलग टोकन पाना होगा.
  • पुष्टि करने वाले टोकन की मौजूदगी की जांच की जा रही है: Google से टोकन की जांच करने के लिए, एक अलग एपीआई कॉल किया गया है. इससे, यह पुष्टि की जाती है कि पुष्टि किए गए उपयोगकर्ता के पास साइट का मालिकाना हक है.

ऐसी किसी वेबसाइट या डोमेन की पुष्टि करने के कई तरीके हैं जिनका इस्तेमाल आपका ऐप्लिकेशन कर सकता है; आप कौनसा तरीका चुनते हैं, यह इस बात पर निर्भर करता है कि आपकी ज़रूरतों के लिए सबसे अच्छा क्या है. टोकन को कहां डालें और यह भी इस बात पर निर्भर करता है कि आपने टोकन का कौनसा तरीका चुना है.

डोमेन की पुष्टि करने का तरीका

डोमेन के लिए, पुष्टि करने के दो तरीके उपलब्ध हैं:

DNS_CNAME

आपका ऐप्लिकेशन, मालिक के डोमेन के लिए एक नया CNAME रिकॉर्ड बनाता है. यह डोमेन रिकॉर्ड करने वाले डोमेन के रजिस्ट्रार का इस्तेमाल करके, रिकॉर्ड डेटा के टोकन का इस्तेमाल कर सकता है. टोकन में दो हिस्से होते हैं जिन्हें स्पेस से अलग किया जाता है: पहला हिस्सा नया CNAME रिकॉर्ड's नाम है, दूसरा हिस्सा नया CNAME रिकॉर्ड's मान है.

DNS_TXT

आपका ऐप्लिकेशन, डोमेन के मालिक के डोमेन के लिए एक नया TXT रिकॉर्ड बनाता है. रिकॉर्ड करने के लिए रिकॉर्ड डोमेन के टोकन का इस्तेमाल किया जा सकता है.

ज़्यादा जानकारी के लिए, डीएनएस से पुष्टि करने के तरीके पर सहायता केंद्र का दस्तावेज़ देखें.

साइट की पुष्टि करने के तरीके

साइटों के लिए, पुष्टि करने के तीन तरीके उपलब्ध हैं:

फ़ाइल
आपका ऐप्लिकेशन, टोकन को फ़ाइल के रूप में, मालिक की वेबसाइट पर रखता है. टोकन स्ट्रिंग से मेल खाने के लिए, आपको ऐसी फ़ाइल बनानी होगी जिसमें ये कॉन्टेंट मौजूद हों:
google-site-verification: token

उदाहरण के लिए, अगर उपयोगकर्ता http://www.example.com/ साइट का मालिक है और रिटर्न किया गया टोकन google12cfc68677988bb4.html है, तो आपको इन कॉन्टेंट के साथ, http://www.example.com/google12cfc68677988bb4.html (मुख्य साइट के लेवल पर) पर एक फ़ाइल बनानी होगी:

google-site-verification: google12cfc8677988bb4.html

ज़्यादा जानकारी के लिए, सहायता केंद्र पर मौजूद फ़ाइल की पुष्टि करने का तरीका वाला दस्तावेज़ देखें.

Meta

आपका ऐप्लिकेशन, मालिक की साइट के ऊपरी लेवल पर डिफ़ॉल्ट फ़ाइल (index.html, default.html वगैरह) के <head> एलिमेंट में एचटीएमएल <meta> टैग के रूप में टोकन डालता है. मेटा पुष्टि टोकन वाली एचटीएमएल फ़ाइल कुछ ऐसी दिख सकती है:

<html>
  <head>
    <title>Awesome Dive Sites</title>
    <meta name="google-site-verification" content="-dhsoFQadgDKJR7BsB6bc1j5yfqjUpg_b-1pFjr7o3x" />
  </head>
  <body>
    ...

ज़्यादा जानकारी के लिए, मेटा की पुष्टि के तरीके वाला सहायता केंद्र का दस्तावेज़ देखें.

Analytics

आपका ऐप्लिकेशन किसी ऐसे मौजूदा Google Analytics ट्रैकिंग कोड का इस्तेमाल कर रहा है जो पहले से ही मालिक की वेबसाइट पर मौजूद है. ट्रैकिंग कोड उनके Analytics खाते से संबंधित होना चाहिए और स्निपेट काम करने के लिए HEAD टैग में मौजूद होना चाहिए. ज़्यादा जानकारी के लिए, Analytics की पुष्टि करने के तरीके से जुड़ा सहायता केंद्र का दस्तावेज़ देखें.

Tag Manager

आपका ऐप्लिकेशन किसी मौजूदा Google Tag Manager कंटेनर कोड का इस्तेमाल करता है, जो पहले से ही मालिक की वेबसाइट पर है. कंटेनर कोड उनके Tag Manager खाते से जुड़ा होना चाहिए. ज़्यादा जानकारी के लिए, Tag Manager से पुष्टि करने के तरीके वाला सहायता केंद्र का दस्तावेज़ देखें.

अगर आप साइट पुष्टि उपयोगकर्ता इंटरफ़ेस के साथ कुछ साइटों की मैन्युअल रूप से पुष्टि करने की कोशिश करते हैं, तो यह मुख्य सिद्धांत और वर्कफ़्लो को समझने में मदद कर सकता है.

डेटा मॉडल

वेब संसाधन

Google साइट की पुष्टि करने वाला एपीआई, वेब संसाधन नाम वाली इकाइयों को REST के सिमेंटिक (एचटीटीपी GET, POST वगैरह) लागू करता है. वेब संसाधन, ऐसी वेबसाइट या डोमेन होता है जो पुष्टि किए गए उपयोगकर्ता से जुड़ा होता है.

यहां वेब संसाधन का उदाहरण दिया गया है:

{
  "owners": [
    "myself@example.com",
    "another@example.com"
  ],
  "id": "http%3A%2F%2Fwww.example.com%2F",
  "site": {
    "identifier": "http://www.example.com/",
    "type": "SITE"
  }
}

id फ़ील्ड, इस वेब रिसॉर्स के लिए एक यूनीक आइडेंटिफ़ायर है. इसका इस्तेमाल, डेटा वापस पाने और उसमें बदलाव करने के लिए, इस वेब संसाधन के रेफ़रंस के लिए किया जाता है. बाद में आइडेंटिफ़ायर के तौर पर इस्तेमाल करने के लिए, list कार्रवाई के आउटपुट से id फ़ील्ड को स्टोर करें.

site ऑब्जेक्ट में, वेब संसाधन का यूआरएल या डोमेन नाम और संसाधन किस तरह का है, यह शामिल है. साइटों को SITE के तौर पर दिखाया जाता है; डोमेन का टाइप INET_DOMAIN बताया जाता है.

owners कलेक्शन, वेब संसाधन के मालिकों की पूरी सूची है. इन संसाधनों को उनके ईमेल पतों से दिखाया जाता है. मालिकाना हक की सूची में ईमेल पते जोड़ने या हटाने पर, पुष्टि किए गए उपयोगकर्ता किसी दूसरे व्यक्ति को मालिकाना हक दे सकते हैं या उसका मालिकाना हक निरस्त कर सकते हैं. साइट या डोमेन पर खुद के टोकन डालने वाले अन्य मालिक, अपने किसी सह-मालिक के साथ-साथ मालिक की सूची में भी दिखते हैं.

जिन उपयोगकर्ताओं को एक साथ मालिकाना हक दिया गया है वे भी दूसरे लोगों के साथ मालिकाना हक जोड़ सकते हैं. हालांकि, इसके लिए ज़रूरी है कि साइट पर कम से कम एक ऐसा मालिक मौजूद हो जिसके मालिकाना हक की पुष्टि हो चुकी है.

वेब रिसॉर्स कलेक्शन

वेब रिसॉर्स कलेक्शन में, पुष्टि किए गए उपयोगकर्ता से जुड़े सभी वेब रिसॉर्स की पूरी सूची होती है. आप पुष्टि किए गए उपयोगकर्ता के वेब संसाधन संग्रह में नए वेब संसाधन जोड़कर, साइट या डोमेन के मालिकाना हक की पुष्टि कर सकते हैं. सिर्फ़ पुष्टि की गई साइटें या डोमेन अपने संग्रह में जोड़े जाते हैं.

जैसा कि सीमाएं सेक्शन में बताया गया है, पुष्टि किए गए उपयोगकर्ता के अलावा, दूसरे उपयोगकर्ताओं के वेब संसाधन, साइट की पुष्टि करने वाले एपीआई के ज़रिए ऐक्सेस नहीं किए जा सकते.