इस गाइड में, Google Health API का इस्तेमाल करते समय आने वाली सामान्य समस्याओं को हल करने का तरीका बताया गया है.
4xx क्लाइंट गड़बड़ियां
क्लाइंट ऐप्लिकेशन कोड में कोई समस्या होने पर, 4xx स्टेटस कोड दिखते हैं. समस्या के बारे में ज़्यादा जानकारी के लिए, रिस्पॉन्स बॉडी के एलिमेंट देखें.
400 खराब अनुरोध
| मैसेज | ब्यौरा | सुझाव |
|---|---|---|
| अनुरोध में अमान्य तर्क शामिल है. | डेटा टाइप आईडी {value} का इस्तेमाल नहीं किया जा सकता. | पुष्टि करें कि जिस डेटा टाइप का रेफ़रंस दिया जा रहा है वह एंडपॉइंट के साथ काम करता हो. |
| अमान्य JSON पेलोड मिला. ऑक्टल/हेक्स नंबर, मान्य JSON वैल्यू नहीं हैं. | dailyRollUp एंडपॉइंट, महीने और दिन की वैल्यू के लिए MM या DD फ़ॉर्मैट के साथ काम नहीं करता. एकल अंकों की शुरुआत 0 (शून्य) से नहीं होनी चाहिए. |
|
| संसाधन के नाम में मौजूद प्रोजेक्ट नंबर अमान्य है | जब प्रोजेक्ट नंबर के बजाय, अनुरोध यूआरएल में Google Cloud प्रोजेक्ट आईडी का इस्तेमाल करके किसी सदस्य को मिटाया या अपडेट किया जाता है. यह projects.subscribers एंडपॉइंट का इस्तेमाल करके, वेबुक की सदस्यताओं पर लागू होता है. |
अनुरोध यूआरएल में, अपने Google Cloud प्रोजेक्ट नंबर का इस्तेमाल करें, न कि प्रोजेक्ट आईडी का. |
401 कोड वाली गड़बड़ी: अनुमति नहीं है
| मैसेज | ब्यौरा | सुझाव |
|---|---|---|
| अनुरोध में पुष्टि करने के लिए अमान्य क्रेडेंशियल शामिल थे. OAuth 2 ऐक्सेस टोकन, लॉगिन कुकी या पुष्टि करने वाला अन्य मान्य क्रेडेंशियल मौजूद होना चाहिए. | INVALID_AUTHENTICATOR: टोकन की समयसीमा खत्म हो गई है | आपके ऐक्सेस टोकन की समयसीमा खत्म हो गई है. नया ऐक्सेस टोकन और रीफ़्रेश टोकन पाने के लिए, रीफ़्रेश टोकन का इस्तेमाल करें. इसके अलावा, उपयोगकर्ता को ऐप्लिकेशन के लिए फिर से सहमति देनी होगी. |
403 निषिद्ध
| मैसेज | ब्यौरा | सुझाव |
|---|---|---|
| कॉलर के पास अनुमति नहीं है | जब प्रोजेक्ट नंबर के बजाय, अनुरोध यूआरएल में Google Cloud प्रोजेक्ट आईडी का इस्तेमाल करके सदस्य बनाए या उनकी सूची बनाई जाती है. यह projects.subscribers एंडपॉइंट का इस्तेमाल करके, वेबुक की सदस्यताओं पर लागू होता है. |
अनुरोध यूआरएल में, अपने Google Cloud प्रोजेक्ट नंबर का इस्तेमाल करें, न कि प्रोजेक्ट आईडी का. |
| कॉलर के पास अनुमति नहीं है. | GaiaMint से UberMint नहीं बनाया जा सका. | उपयोगकर्ता ने ऑथराइज़ेशन फ़्लो पूरा कर लिया है, लेकिन एंडपॉइंट कॉल पूरा नहीं हो सका. ऐसा तब हो सकता है, जब लेगसी Fitbit खाता, Google खाते के बजाय ऐप्लिकेशन को सहमति देता है. इस गड़बड़ी को ठीक करने के लिए:
|
पेज नहीं मिला
| मैसेज | ब्यौरा | सुझाव |
|---|---|---|
अनुरोध किया गया यूआरएल /v4/users/me/dataTypes/{dataType}/dataPoints, इस सर्वर पर नहीं मिला. |
इसकी ये वजहें हो सकती हैं:
|
Fitbit का यूज़र आईडी वापस पाना
किसी उपयोगकर्ता की समस्या को हल करने के लिए, आपको Fitbit मोबाइल ऐप्लिकेशन में लॉग इन किए गए उपयोगकर्ता के Google खाते की पुष्टि करनी पड़ सकती है.
Fitbit का यूज़र आईडी ढूंढने के लिए:
- Fitbit का मोबाइल ऐप्लिकेशन खोलें.
- सबसे नीचे दाएं कोने में मौजूद, आप आइकॉन को दबाएं.
- सबसे ऊपर मौजूद टाइल में, उपयोगकर्ता का नाम और शामिल होने की तारीख होती है. इसमें मौजूद प्रोफ़ाइल में बदलाव करें लिंक पर क्लिक करें.
- पृष्ठ के निचले हिस्से पर जाएं. आपका खाता सेक्शन में, आईडी को असाइन की गई वैल्यू, Fitbit उपयोगकर्ता आईडी होती है. (उदाहरण के लिए: CV5TKH)
किसी ऐप्लिकेशन के लिए दी गई सहमति वापस लेना
जब किसी उपयोगकर्ता को आपके ऐप्लिकेशन से OAuth2 कनेक्शन की समस्या हल करने में मदद करनी हो, तो आपको उससे अपने खाते को आपके ऐप्लिकेशन से अनलिंक करने के लिए कहना पड़ सकता है. इसके बाद, आपको फिर से अनुमति देने की प्रोसेस पूरी करनी होगी.
अपने Google खाते को आपके ऐप्लिकेशन से अनलिंक करने के लिए:
- Fitbit का मोबाइल ऐप्लिकेशन खोलें.
- सबसे ऊपर दाएं कोने में मौजूद, Fitbit उपयोगकर्ता की प्रोफ़ाइल के आइकॉन को दबाएं.
- अपना Google खाता मैनेज करें पर क्लिक करें.
- डेटा और निजता टाइल को चुनें.
- नीचे की ओर स्क्रोल करके, **उन ऐप्लिकेशन और सेवाओं का डेटा जो आपके इस्तेमाल में हैं** सेक्शन पर जाएं. ऐप्लिकेशन और सेवाएं में जाकर, तीसरे पक्ष के ऐप्लिकेशन और सेवाएं को चुनें.
- कनेक्ट किए गए ऐप्लिकेशन की सूची में, अपने ऐप्लिकेशन का नाम ढूंढें. इसके बाद, उपयोगकर्ता को उसे चुनने के लिए कहें.
- <app name> को दिए गए सभी ऐक्सेस वापस लें पर क्लिक करें.
- उपयोगकर्ता से पुष्टि करने के लिए कहें, ताकि वह आपके ऐप्लिकेशन को दी गई सहमति वापस ले सके.
ऐक्सेस हटाने की प्रोसेस पूरी होने के बाद, उपयोगकर्ता को तीसरे पक्ष के ऐप्लिकेशन और सेवाओं वाले पेज पर वापस ले जाया जाएगा. उपयोगकर्ता को सूची से ऐप्लिकेशन का नाम हटा हुआ देखने के लिए, पेज को रीफ़्रेश करना पड़ सकता है.
डिवाइस सिंक होने में देरी से जुड़ी समस्या हल करना
उपयोगकर्ता के डेटा के मौजूद न होने या उसमें देरी होने से जुड़ी समस्याओं को डीबग करते समय, उपयोगकर्ता के जोड़े गए डिवाइस का मॉडल और उसके डेटा के आखिरी बार सिंक होने की तारीख की जांच करना मददगार होता है.
डिवाइस के मॉडल की जानकारी (जैसे कि Fitbit ट्रैकर या स्मार्टवॉच का मॉडल) और सिंक करने की आखिरी तारीख, समस्याओं को हल करने के लिए ज़रूरी होती है. साथ ही, सिंक करने में देरी होने के बाद, पुराने डेटा को वापस पाने के लिए भी यह जानकारी ज़रूरी होती है.
उदाहरण के लिए, अगर आपको डेटा डिलीवरी में अनचाहा अंतर या देरी दिखती है, तो:
- पुष्टि करें कि जिस यूज़र आईडी के लिए क्वेरी की जा रही है वह उस Fitbit खाते के यूज़र आईडी से मेल खाता हो जो मोबाइल ऐप्लिकेशन में लॉग इन है. मोबाइल ऐप्लिकेशन में यूज़र आईडी पाने के लिए, Fitbit का यूज़र आईडी वापस पाना लेख पढ़ें.
ऐक्सेस टोकन से User-ID पाने के लिए,
getIdentityएंडपॉइंट को कॉल करें. - सिंक होने का पिछला समय देखें. इससे यह पता चलता है कि उपयोगकर्ता का डिवाइस, Google Health मोबाइल ऐप्लिकेशन के साथ पिछली बार कब सिंक हुआ था.
- अगर डिवाइस हाल ही में सिंक नहीं हुआ है, तो इसका मतलब है कि एपीआई में समस्या होने के बजाय, डिवाइस के ऑफ़लाइन होने या मोबाइल ऐप्लिकेशन के साथ सिंक न होने की वजह से, जगह की जानकारी अपडेट होने में देरी हो रही है.
- जब उपयोगकर्ता मोबाइल ऐप्लिकेशन खोलता है और अपने डिवाइस को सिंक करता है, तब आपको पिछली बार सिंक किए जाने के समय से लेकर अब तक का डेटा मिल सकता है.
किसी उपयोगकर्ता के जोड़े गए डिवाइस की जानकारी पाने के लिए, users.pairedDevices.list एंडपॉइंट को कॉल करें. इससे डिवाइसों की सूची मिलती है. इसमें यह जानकारी शामिल होती है:
deviceVersion: डिवाइस का प्रॉडक्ट नाम या मॉडल (उदाहरण के लिए, "Charge 6").lastSyncTime: पिछली बार सिंक होने का टाइमस्टैंप.