Users.dataSources: update

चुने गए डेटा सोर्स को अपडेट करता है. dataStreamId, dataType, type, dataStreamName, और version को छोड़कर, device प्रॉपर्टी संशोधित नहीं किया जा सकता है.

डेटा सोर्स की पहचान, उनके dataStreamId से की जाती है. इसे अभी आज़माएं.

अनुरोध

एचटीटीपी अनुरोध

PUT https://www.googleapis.com/fitness/v1/users/userId/dataSources/dataSourceId

पैरामीटर

पैरामीटर का नाम मान ब्यौरा
पाथ पैरामीटर
dataSourceId string अपडेट किए जाने वाले डेटा सोर्स का डेटा स्ट्रीम आईडी.
userId string पहचाने गए व्यक्ति के लिए डेटा सोर्स अपडेट करें. इसके लिए me का इस्तेमाल करें प्रमाणित उपयोगकर्ता को दर्शाता हो. इसमें सिर्फ़ me का इस्तेमाल किया जा सकता है समय.

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक दायरे की अनुमति लेना ज़रूरी है:

दायरा
https://www.googleapis.com/auth/fitness.activity.write
https://www.googleapis.com/auth/fitness.location.write
https://www.googleapis.com/auth/fitness.body.write
https://www.googleapis.com/auth/fitness.nutrition.write
https://www.googleapis.com/auth/fitness.blood_pressure.write
https://www.googleapis.com/auth/fitness.blood_glucose.write
https://www.googleapis.com/auth/fitness.oxygen_saturation.write
https://www.googleapis.com/auth/fitness.body_temperature.write
https://www.googleapis.com/auth/fitness.reproductive_health.write

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

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दी गई प्रॉपर्टी के साथ Users.dataSources संसाधन शामिल करें:

प्रॉपर्टी का नाम मान ब्यौरा नोट
ज़रूरी प्रॉपर्टी
application nested object ऐसे ऐप्लिकेशन के बारे में जानकारी जो प्लैटफ़ॉर्म में सेंसर डेटा फ़ीड करता है.
application.name string इस ऐप्लिकेशन का नाम. REST क्लाइंट के लिए यह ज़रूरी है, लेकिन हम इस नाम की खासियत को लागू नहीं करते. यह सुविधा उन दूसरे डेवलपर के लिए है जो यह जानना चाहते हैं कि किस REST ने ऐप्लिकेशन या डेटा सोर्स बनाया है.
dataStreamId string इस डेटा सोर्स से बनी डेटा स्ट्रीम के लिए यूनीक आइडेंटिफ़ायर. आइडेंटिफ़ायर में ये शामिल हैं:

  • फ़िज़िकल डिवाइस का मैन्युफ़ैक्चरर, मॉडल, और सीरियल नंबर (यूआईडी).
  • ऐप्लिकेशन का पैकेज नाम या नाम. पैकेज के नाम का इस्तेमाल तब किया जाता है, जब किसी Android ऐप्लिकेशन से डेटा सोर्स बनाया जाता है. डेवलपर प्रोजेक्ट नंबर का इस्तेमाल तब किया जाता है, जब डेटा सोर्स किसी REST क्लाइंट से बनाया जाता है.
  • डेटा सोर्स का टाइप.
  • डेटा सोर्स की स्ट्रीम का नाम.
ध्यान दें कि स्ट्रीम आइडेंटिफ़ायर के हिस्से के तौर पर, डेटा सोर्स के सभी एट्रिब्यूट का इस्तेमाल नहीं किया जाता. विशेष रूप से, हार्डवेयर/ऐप्लिकेशन के वर्शन का उपयोग नहीं किया जाता. इससे हम वर्शन अपडेट के ज़रिए उसी स्ट्रीम को बनाए रख पाते हैं. इसका मतलब यह भी है कि दो DataSource ऑब्जेक्ट एक ही डेटा स्ट्रीम को दिखा सकते हैं, भले ही वे बराबर न हों.

Android ऐप्लिकेशन के डेटा स्ट्रीम आईडी का सटीक फ़ॉर्मैट: type:dataType.name:application.packageName:device.manufacturer:device.model:device.uid:dataStreamName

REST क्लाइंट के डेटा स्ट्रीम आईडी का सटीक फ़ॉर्मैट यह है: type:dataType.name:developer project number:device.manufacturer:device.model:device.uid:dataStreamName

अगर डेटा स्ट्रीम आईडी बनाने वाला कोई भी वैकल्पिक फ़ील्ड मौजूद नहीं है, तो उसे डेटा स्ट्रीम आईडी से हटा दिया जाएगा. इस्तेमाल किए जा सकने वाले कम से कम डेटा स्ट्रीम का आईडी यह होगा: type:dataType.name:डेवलपर प्रोजेक्ट नंबर

आखिर में, जब कोई भी REST या Android क्लाइंट पढ़ता है और डेटा सोर्स नहीं बनाया जाता है, तो डेवलपर प्रोजेक्ट नंबर और डिवाइस का यूआईडी उलझा हुआ होता है. सिर्फ़ डेटा सोर्स बनाने वाले को डेवलपर प्रोजेक्ट नंबर, साफ़ और सामान्य रूप में दिखेगा. इसका मतलब है कि किसी क्लाइंट को अलग-अलग क्रेडेंशियल वाले किसी दूसरे क्लाइंट की तुलना में, data_stream_ids का एक अलग सेट दिखेगा.

dataType nested object डेटा टाइप, फ़िटनेस एपीआई की मदद से इकट्ठा किए जा रहे, उसमें डाले गए या उसके बारे में क्वेरी किए जाने वाले डेटा की स्ट्रीम के लिए स्कीमा तय करता है.
dataType.field[] list फ़ील्ड, डेटा टाइप का एक डाइमेंशन दिखाता है.
dataType.field[].format string डेटा टाइप में हर फ़ील्ड के लिए इस्तेमाल किए जा सकने वाले अलग-अलग फ़ॉर्मैट.

ये वैल्यू स्वीकार की जाती हैं:
  • "blob"
  • "floatList"
  • "floatPoint"
  • "integer"
  • "integerList"
  • "map"
  • "string"
dataType.field[].name string डेटा का नाम और फ़ॉर्मैट तय करता है. डेटा टाइप के नामों से अलग, फ़ील्ड के नाम नेमस्पेस नहीं किए जाते और सिर्फ़ डेटा टाइप में उनका यूनीक होना ज़रूरी है.
dataType.name string हर डेटा टाइप का एक यूनीक, नेमस्पेस, नाम होता है. com.google नेमस्पेस में मौजूद सभी डेटा टाइप, प्लैटफ़ॉर्म के हिस्से के तौर पर शेयर किए जाते हैं.
device nested object यह ऐसे इंटिग्रेट किए गए डिवाइस (जैसे, फ़ोन या पहने जाने वाला डिवाइस) के बारे में बताता है जिसमें सेंसर हो सकते हैं.
device.manufacturer string प्रॉडक्ट/हार्डवेयर का निर्माता.
device.model string डिवाइस के असली उपयोगकर्ता को दिखने वाले मॉडल का नाम.
device.type string डिवाइस के टाइप को दिखाने वाला कॉन्सटेंट.

ये वैल्यू स्वीकार की जाती हैं:
  • "chestStrap"
  • "headMounted"
  • "phone"
  • "scale"
  • "smartDisplay"
  • "tablet"
  • "unknown"
  • "watch"
device.uid string हार्डवेयर का सीरियल नंबर या अन्य यूनीक आईडी. इस फ़ील्ड को जब कोई REST या Android क्लाइंट पढ़ता है जिसने डेटा सोर्स नहीं बनाया है, तो उसे अस्पष्ट बना दिया जाता है. सिर्फ़ डेटा सोर्स बनाने वाले व्यक्ति को ही uid फ़ील्ड साफ़ और सामान्य रूप में दिखेगा.

अस्पष्ट बनाने की वजह से समानता बनी रहती है; इसका मतलब है कि दो आईडी दिए गए हैं, अगर id1 == id2, obfuscated(id1) == obfuscated(id2).

device.version string डिवाइस के हार्डवेयर/सॉफ़्टवेयर के लिए वर्शन स्ट्रिंग.
type string इस डेटा सोर्स के टाइप के बारे में बताने वाला कॉन्सटेंट. इससे पता चलता है कि यह डेटा सोर्स, रॉ डेटा देता है या डिराइव्ड डेटा.

ये वैल्यू स्वीकार की जाती हैं:
  • "derived"
  • "raw"

जवाब

कामयाब होने पर, यह तरीका रिस्पॉन्स के मुख्य हिस्से में Users.dataSources संसाधन दिखाता है.

इसे आज़माएं!

लाइव डेटा पर इस तरीके को कॉल करने और जवाब देखने के लिए, नीचे दिए गए एपीआई एक्सप्लोरर का इस्तेमाल करें.