समस्या का हल

इस गाइड में, 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 प्रोजेक्ट आईडी के बजाय, प्रोजेक्ट नंबर का इस्तेमाल करें.
कॉलर के पास अनुमति नहीं है. UberMint को GaiaMint से नहीं बनाया जा सका.

उपयोगकर्ता ने अनुमति देने की प्रोसेस पूरी कर ली है, लेकिन एंडपॉइंट कॉल नहीं हो पाया. ऐसा तब हो सकता है, जब Google खाते के बजाय, पुराने Fitbit खाते से ऐप्लिकेशन को सहमति दी गई हो. इस गड़बड़ी को ठीक करने के लिए:

  1. Fitbit की सेटिंग में जाकर, Fitbit के मोबाइल ऐप्लिकेशन से साइन आउट करें.
  2. "Google से जारी रखें" या "Google से साइन इन करें" बटन दबाकर, Fitbit के मोबाइल ऐप्लिकेशन में साइन इन करें. अगर आपको "इस Google खाते से Fitbit का इस्तेमाल नहीं किया जा सकता" मैसेज मिलता है, तो आपका ईमेल पता अब भी पुराने Fitbit खाते के तौर पर रजिस्टर है. अपने खाते को माइग्रेट करने के लिए, इस सहायता लेख में दिया गया तरीका अपनाएं.

पेज नहीं मिला

मैसेज ब्यौरा सुझाव
अनुरोध किया गया यूआरएल /v4/users/me/dataTypes/{dataType}/dataPoints इस सर्वर पर नहीं मिला. इसकी ये वजहें हो सकती हैं:
  • पुष्टि करें कि सही वर्ब का इस्तेमाल किया जा रहा है
  • देखें कि एंडपॉइंट सिंटैक्स में टाइप करने से जुड़ी कोई गलती न हुई हो

Fitbit के उपयोगकर्ता का आईडी पाना

उपयोगकर्ता की समस्या को हल करने के लिए, आपको Fitbit के मोबाइल ऐप्लिकेशन में लॉग इन किए गए उपयोगकर्ता के Google खाते की पुष्टि करनी पड़ सकती है.

Fitbit के उपयोगकर्ता का आईडी ढूंढने के लिए:

  1. Fitbit का मोबाइल ऐप्लिकेशन खोलें.
  2. सबसे नीचे दाएं कोने में मौजूद, आप आइकॉन को दबाएं.
  3. सबसे ऊपर मौजूद टाइल में, उपयोगकर्ता का नाम और खाता बनाने की तारीख दिखती है. इसमें मौजूद प्रोफ़ाइल में बदलाव करें लिंक को दबाएं.
  4. पेज के सबसे नीचे जाएं. आपका खाता सेक्शन में, आईडी के लिए असाइन की गई वैल्यू, Fitbit के उपयोगकर्ता का आईडी होती है. (उदाहरण के लिए: CV5TKH)

किसी उपयोगकर्ता को अपने ऐप्लिकेशन से OAuth2 कनेक्शन की समस्या को हल करने में मदद करते समय, आपको उससे अपने ऐप्लिकेशन से उसका खाता अनलिंक करने के लिए कहना पड़ सकता है. इसके बाद, उसे अनुमति देने की प्रोसेस फिर से पूरी करनी होगी.

अपने ऐप्लिकेशन से उपयोगकर्ता का Google खाता अनलिंक करने के लिए:

  1. Fitbit का मोबाइल ऐप्लिकेशन खोलें.
  2. सबसे ऊपर दाएं कोने में मौजूद, Fitbit के उपयोगकर्ता की प्रोफ़ाइल के आइकॉन को दबाएं.
  3. अपना Google खाता मैनेज करें को दबाएं.
  4. डेटा और निजता टाइल को चुनें.
  5. **उन ऐप्लिकेशन और सेवाओं का डेटा जो आपके इस्तेमाल में हैं** सेक्शन पर जाएं. ऐप्लिकेशन और सेवाएं में जाकर, तीसरे पक्ष के ऐप्लिकेशन और सेवाएं को चुनें.
  6. कनेक्ट किए गए ऐप्लिकेशन की सूची में अपने ऐप्लिकेशन का नाम ढूंढें और उपयोगकर्ता से उसे चुनने के लिए कहें.
  7. <ऐप्लिकेशन का नाम> को दिए गए सभी ऐक्सेस वापस लें को दबाएं.
  8. उपयोगकर्ता से अपने ऐप्लिकेशन को दी गई सहमति वापस लेने की पुष्टि करने के लिए कहें.

सहमति वापस लेने की प्रोसेस पूरी होने के बाद, उपयोगकर्ता को तीसरे पक्ष के ऐप्लिकेशन और सेवाएं पेज की सूची पर वापस ले जाया जाएगा. सूची से ऐप्लिकेशन का नाम हटाने के बाद, उपयोगकर्ता को पेज रीफ़्रेश करना पड़ सकता है.

डिवाइस को सिंक करने में होने वाली देरी से जुड़ी समस्याएं हल करना

उपयोगकर्ता के डेटा के गायब होने या उसमें देरी होने से जुड़ी समस्याओं को डीबग करते समय, उपयोगकर्ता के जोड़े गए डिवाइस का मॉडल और उसके सिंक होने की पिछली तारीख की जांच करना मददगार होता है.

मॉडल की जानकारी (जैसे, Fitbit ट्रैकर या स्मार्टवॉच का मॉडल) और सिंक होने की पिछली तारीख, समस्याओं को हल करने और सिंक होने में देरी के बाद, पुराना डेटा पाने के लिए काम की होती है.

उदाहरण के लिए, अगर आपको डेटा डिलीवर होने में अनचाही देरी या गैप दिखता है, तो:

  1. पुष्टि करें कि क्वेरी किया जा रहा उपयोगकर्ता आईडी, मोबाइल ऐप्लिकेशन में लॉग इन किए गए Fitbit खाते के उपयोगकर्ता आईडी से मेल खाता हो. मोबाइल ऐप्लिकेशन में उपयोगकर्ता आईडी पाने के लिए, Fitbit के उपयोगकर्ता का आईडी पाना देखें. ऐक्सेस टोकन से उपयोगकर्ता आईडी पाने के लिए, getIdentity एंडपॉइंट को कॉल करें.
  2. यह जानने के लिए कि उपयोगकर्ता का डिवाइस, Google Health के मोबाइल ऐप्लिकेशन से पिछली बार कब सिंक हुआ था, सिंक होने का पिछला समय देखें.
  3. अगर डिवाइस हाल ही में सिंक नहीं हुआ है, तो इसका मतलब है कि देरी की वजह, एपीआई की समस्या के बजाय, डिवाइस का ऑफ़लाइन होना या मोबाइल ऐप्लिकेशन से सिंक न होना है.
  4. उपयोगकर्ता के मोबाइल ऐप्लिकेशन खोलने और अपने डिवाइस को सिंक करने के बाद, सिंक होने के पिछले समय से लेकर अब तक का पुराना डेटा पाया जा सकता है.

उपयोगकर्ता के जोड़े गए डिवाइस की जानकारी पाने के लिए, users.pairedDevices.list एंडपॉइंट को कॉल करें. इससे डिवाइसों की एक सूची मिलती है, जिसमें ये जानकारी शामिल होती है:

  • deviceVersion: डिवाइस का प्रॉडक्ट नेम या मॉडल (उदाहरण के लिए, "Charge 6").
  • lastSyncTime: पिछली बार सफलतापूर्वक सिंक होने का टाइमस्टैंप.