Users.dataSources: update

दिए गए डेटा सोर्स को अपडेट करता है. version को छोड़कर, dataStreamId, dataType, type, dataStreamName, और 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:developer प्रोजेक्ट नंबर

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

dataType nested object डेटा टाइप, Fitness API से इकट्ठा किए जा रहे, उसमें डाले गए या उससे क्वेरी किए जाने वाले डेटा की स्ट्रीम के स्कीमा को तय करता है.
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 संसाधन दिखाता है.

इसे आज़माएं!

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