Google Cloud और OAuth को सेट अप करना

Google Health API का ऐक्सेस, Google Cloud के ज़रिए दिया जाता है. एपीआई को चालू करने और Google खाते को अनुमति देने के लिए, आपके पास Google Cloud प्रोजेक्ट होना चाहिए.

चाहे आप Fitbit API के मौजूदा डेवलपर हों या Google Health API के नए डेवलपर हों, आपको एपीआई को कॉल करने के लिए यह चरण पूरा करना होगा.

कोई प्रोजेक्ट और OAuth क्लाइंट बनाना

Google Health API को चालू करने और OAuth 2.0 क्लाइंट आईडी पाने के लिए, एपीआई को चालू करें और OAuth 2.0 क्लाइंट आईडी पाएं बटन का इस्तेमाल करें:

  1. अगर आपके पास पहले से कोई Google Cloud प्रोजेक्ट है और आपको उसका इस्तेमाल Google Health API के लिए करना है, तो पक्का करें कि आपने पहले उस प्रोजेक्ट के एडमिन खाते में लॉग इन किया हो. इसके बाद, बटन पर क्लिक करके, उपलब्ध प्रोजेक्ट की सूची में से मौजूदा प्रोजेक्ट को चुनें. इसके अलावा, कोई नया प्रोजेक्ट बनाएं.
  2. जब आपसे "आपने कहां से कॉल किया है?" पूछा जाए, तो वेब सर्वर चुनें.
  3. अनुमति वाले रीडायरेक्ट यूआरआई की वैल्यू के तौर पर, https://www.google.com डालें. OAuth 2.0 का इस्तेमाल करके, ऑथराइज़ेशन कोड पाने के लिए, रीडायरेक्ट यूआरआई ज़रूरी है.
  4. सेटअप पूरा होने के बाद, OAuth 2.0 क्लाइंट आईडी और क्लाइंट सीक्रेट की वैल्यू कॉपी करें. साथ ही, क्रेडेंशियल JSON को अपने लोकल मशीन पर डाउनलोड करें.
एपीआई को चालू करें और OAuth 2.0 क्लाइंट आईडी पाएं

अगर आपको अपना Google Cloud प्रोजेक्ट मैन्युअल तरीके से सेट अप करना है या सेटअप की पुष्टि करनी है और अपने क्रेडेंशियल फिर से पाने हैं, तो:

  1. एपीआई चालू करने वाले पेज पर, Google Health API को चालू करें.
  2. क्रेडेंशियल वाले पेज पर, OAuth 2.0 क्लाइंट आईडी पाएं.

Google कंसोल का इस्तेमाल करके, OAuth 2.0 सेट अप करने के बारे में ज़्यादा जानने के लिए, OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना लेख पढ़ें.

टेस्ट करने वाले उपयोगकर्ता जोड़ना

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

ऑडियंस पेज पर, टेस्ट करने वाले उपयोगकर्ताओं की सूची अपडेट करें:

  1. इस पेज पर, आपको "पब्लिशिंग स्टेटस", टेस्टिंग पर सेट दिखना चाहिए. साथ ही, "उपयोगकर्ता का टाइप", बाहरी पर सेट दिखना चाहिए.
  2. "टेस्ट करने वाले उपयोगकर्ता" सेक्शन में, + उपयोगकर्ता जोड़ें पर क्लिक करें. टेस्ट करने वाले उन उपयोगकर्ताओं का ईमेल पता डालें जिन्हें आपके ऐप्लिकेशन को, सेहत से जुड़ा उनका डेटा ऐक्सेस करने की अनुमति देनी चाहिए.
  3. सेव करें पर क्लिक करें.

Google Health API के साथ 100 से ज़्यादा उपयोगकर्ताओं को सपोर्ट करने के लिए, तीसरे पक्ष से सुरक्षा की समीक्षा पूरी करनी होगी. ज़्यादा जानकारी के लिए, OAuth ऐप्लिकेशन की पुष्टि करने से जुड़े सहायता केंद्र पर जाएं.

दायरे वाली लाइनें जोड़ना

आपको डेटा ऐक्सेस वाले पेज पर, वे दायरे बताने होंगे जिन्हें आपका क्लाइंट कॉल कर सकता है:

  1. इस पेज पर, दायरे वाली लाइनें जोड़ें या हटाएं पर क्लिक करें.
  2. एपीआई कॉलम में, "Google Health API" खोजें. अपने ऐप्लिकेशन के लिए ज़रूरी दायरे वाली लाइनें चुनें.
  3. ज़रूरी सभी दायरे वाली लाइनें चुनने के बाद, डेटा ऐक्सेस वाले पेज पर वापस जाने के लिए, अपडेट करें पर क्लिक करें.
  4. सेव करें पर क्लिक करें.

आपने क्लाइंट आईडी सेट अप कर लिया है. अब Google Health API को कॉल किया जा सकता है.

दायरे वाली लाइनें अपडेट करना

पुष्टि करने के अनुरोध में, प्रॉम्प्ट पैरामीटर को सहमति पर सेट करके, उपयोगकर्ता से अपने ऐप्लिकेशन को फिर से अनुमति देने के लिए कहा जा सकता है. जब prompt=consent शामिल किया जाता है, तो सहमति वाली स्क्रीन हर बार दिखती है, जब आपका ऐप्लिकेशन, ऐक्सेस के दायरे वाली लाइनों की अनुमति का अनुरोध करता है. भले ही, आपके Google API प्रोजेक्ट को पहले सभी दायरे वाली लाइनों की अनुमति दी गई हो.

prompt=consent पैरामीटर का इस्तेमाल करके, दायरे वाली लाइनें जोड़ने या बदलने के लिए, यह तरीका अपनाएं:

  1. उन सभी दायरे वाली लाइनों की पूरी सूची देखें जिनकी आपके ऐप्लिकेशन को ज़रूरत है. इसमें, मौजूदा दायरे वाली लाइनें और वे नई दायरे वाली लाइनें शामिल होनी चाहिए जिन्हें आपको जोड़ना है.

  2. स्पेस से अलग की गई दायरे वाली लाइनों की अपडेट की गई सूची को शामिल करने के लिए, ऑथराइज़ेशन यूआरएल में दायरे वाली लाइन के पैरामीटर में बदलाव करें.

  3. पुष्टि करने वाले यूआरआई पैरामीटर में, prompt=consent जोड़ें. इससे, ऑथराइज़ेशन सर्वर, आपके क्लाइंट को जानकारी लौटाने से पहले, उपयोगकर्ता से सहमति लेने के लिए कहता है.

    यहां दिए गए उदाहरण में, Google के OAuth 2.0 ऑथराइज़ेशन एंडपॉइंट के लिए, एचटीटीपीएस जीईटी अनुरोध दिखाया गया है. इसमें, prompt=consent जोड़कर, कई दायरे वाली लाइनों का अनुरोध किया गया है:

    https://accounts.google.com/o/oauth2/v2/auth?client_id=client-id&redirect_uri=redirect-uri&response_type=code&access_type=offline&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly%20https://www.googleapis.com/auth/googlehealth.sleep.readonly&prompt=consent
  4. जब उपयोगकर्ता, अपडेट किए गए लिंक पर क्लिक करेगा, तो उसे सहमति वाला एक पेज दिखेगा. इसमें, अनुरोध की गई सभी दायरे वाली लाइनें दिखेंगी. जब उपयोगकर्ता "जारी रखें" या "अनुमति दें" पर क्लिक करेगा, तो आपको एक नया ऑथराइज़ेशन कोड मिलेगा. इसे, दायरे वाली लाइनों के पूरे सेट को कवर करने वाले टोकन के लिए एक्सचेंज किया जा सकता है.

    prompt=consent को सिर्फ़ तब शामिल करें, जब इसकी ज़रूरत हो. जैसे, जब आपको नया रीफ़्रेश टोकन पाना हो या जब अनुरोध की गई दायरे वाली लाइनें बदल गई हों.

OAuth2 क्लाइंट लाइब्रेरी

पॉप्युलर फ़्रेमवर्क के साथ इंटिग्रेट करने के लिए इस्तेमाल की जाने वाली, उपलब्ध OAuth2 क्लाइंट लाइब्रेरी की सूची, OAuth 2.0 का इस्तेमाल करके, Google API को ऐक्सेस करना लेख में देखी जा सकती है.

रीफ़्रेश टोकन

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

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

अनुरोध

curl -L -X POST 'https://oauth2.googleapis.com/token' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'client_id=client-id&client_secret=client-secret&refresh_token=refresh-token&grant_type=refresh_token'

जवाब

{
  "access_token": "access-token",
  "expires_in": 3599,
  "scope": "scope-list",
  "token_type": "Bearer",
  "refresh_token": "refresh-token",
  "refresh_token_expires_in": 112154
}

टेस्टिंग के दौरान टोकन का व्यवहार

ध्यान रखें कि Google Cloud प्रोजेक्ट के पब्लिशिंग स्टेटस के हिसाब से, रीफ़्रेश टोकन कैसे काम करते हैं:

  • टेस्टिंग मोड: अगर OAuth के लिए सहमति वाली स्क्रीन, "टेस्टिंग" पब्लिशिंग स्टेटस के साथ कॉन्फ़िगर की गई है, तो जारी किए गए रीफ़्रेश टोकन, समय के हिसाब से काम करते हैं. इनकी समयसीमा सात दिनों के बाद खत्म हो जाती है. इस दौरान, आपको एक रीफ़्रेश टोकन मिलेगा. यह टोकन, समयसीमा खत्म होने की तारीख तक मान्य रहेगा. साथ ही, इसका इस्तेमाल नए ऐक्सेस टोकन पाने के लिए किया जा सकेगा.
  • पब्लिश किया गया मोड: जब आपका ऐप्लिकेशन "इन प्रोडक्शन" स्टेटस में आ जाता है, तो आम तौर पर रीफ़्रेश टोकन की समयसीमा खत्म नहीं होती. हालांकि, ऐसा तब होता है, जब उन्हें रद्द न किया गया हो या वे लंबे समय तक (आम तौर पर छह महीने) इस्तेमाल न किए गए हों.

लोगों को किसी भी तरह की परेशानी न हो, इसके लिए पक्का करें कि आपका ऐप्लिकेशन, प्रोडक्शन एनवायरमेंट में ले जाने से पहले पब्लिश किया गया हो. इससे, सात दिनों में टोकन की समयसीमा खत्म होने की समस्या से बचा जा सकेगा.