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

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

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

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

एपीआई चालू करें और OAuth 2.0 क्लाइंट आईडी पाएं बटन का इस्तेमाल करके, Google Health API चालू करें और 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 सेट अप करने के बारे में ज़्यादा जानने के लिए, Google API को ऐक्सेस करने के लिए OAuth 2.0 का इस्तेमाल करना लेख पढ़ें.

टेस्ट यूज़र जोड़ना

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

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

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

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

स्कोप जोड़ना

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

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

स्कोप चुनने से पहले, स्कोप लागू करने के बारे में जानकारी देखें.

आपने क्लाइंट आईडी सेट अप कर लिया है. अब आपको Google Health API को कॉल करने की सुविधा मिलनी चाहिए.

स्कोप अपडेट करें

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

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 को सहमति देने वाली स्क्रीन को "टेस्टिंग" पब्लिशिंग स्टेटस के साथ कॉन्फ़िगर किया गया है, तो जारी किए गए रीफ़्रेश टोकन की समयसीमा तय होती है. ये सात दिनों के बाद खत्म हो जाते हैं. इस अवधि के दौरान, आपको एक रीफ़्रेश टोकन मिलेगा. यह टोकन तब तक मान्य रहेगा और इसका इस्तेमाल नए ऐक्सेस टोकन पाने के लिए किया जा सकेगा, जब तक इसकी समयसीमा खत्म नहीं हो जाती.
  • पब्लिश किया गया मोड: जब आपका ऐप्लिकेशन "In Production" स्टेटस पर पहुंच जाता है, तो आम तौर पर रीफ़्रेश टोकन की समयसीमा खत्म नहीं होती. ऐसा तब तक होता है, जब तक उन्हें रद्द न कर दिया जाए या वे लंबे समय तक (आम तौर पर छह महीने) इस्तेमाल न किए जाएं.

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

क्रॉस-खाता सुरक्षा (RISC API)

अगर आपको इवेंट टोकन या खाता लिंक करने की सुविधा में हुए बदलावों के बारे में सूचनाएं चाहिए, तो जोखिम और घटना की जानकारी शेयर करने और समन्वय (आरआईएससी) की सुविधा चालू करें. जैसे, डिसकनेक्ट किए गए खाते या रद्द किए गए टोकन. इससे सेव किए गए टोकन को हटाया जा सकता है और यूज़र इंटरफ़ेस (यूआई) कनेक्शन की स्थिति को अपडेट किया जा सकता है. RISC API को चालू करना ज़रूरी नहीं है.

अपने Google Cloud प्रोजेक्ट के लिए, RISC API चालू करने के लिए:

  1. Google Cloud Console में, RISC API पेज खोलें. पक्का करें कि आपने Google Health API के लिए सही प्रोजेक्ट चुना हो.
  2. RISC की शर्तें पढ़ें और पक्का करें कि आपने ज़रूरी शर्तें समझ ली हों.
  3. अगर आपको शर्तें स्वीकार हैं, तो चालू करें पर क्लिक करें.

एपीआई चालू करने के बाद, आपको एक HTTPS एंडपॉइंट बनाना और रजिस्टर करना होगा. इससे Google से भेजे गए इवेंट टोकन को पाया और उनकी पुष्टि की जा सकेगी.

क्रॉस-खाता सुरक्षा और आरआईएससी के बारे में ज़्यादा जानने के लिए, क्रॉस-खाता सुरक्षा की मदद से उपयोगकर्ता खातों को सुरक्षित रखना लेख पढ़ें.