Package google.digitalassetlinks.v1

इंडेक्स

विवरण

इस एपीआई सेवा का इस्तेमाल "स्टेटमेंट" के लिए किया जाता है. ये ऐसी एसेट होती हैं जिनका इस्तेमाल एसेट के मालिक, एसेट के लिंक की जानकारी पब्लिश करने के लिए करते हैं. एपीआई का इस्तेमाल करके, स्टेटमेंट को आसानी से और सुरक्षित तरीके से हासिल किया जा सकता है. इसके लिए स्टेटमेंट को सीधे सोर्स से हासिल करने की ज़रूरत नहीं होती.

एपीआई की ओर से दिए गए सभी स्टेटमेंट, डिजिटल एसेट (जैसे कि वेबसाइट या Android ऐप्लिकेशन) की तरफ़ से अन्य डिजिटल एसेट के बारे में दिए गए हैं. हर स्टेटमेंट में सोर्स एसेट, टारगेट एसेट, और एक या एक से ज़्यादा संबंध होते हैं.

संबंध, दो एसेट के बीच के संबंध के बारे में बताता है, जिस पर सोर्स एसेट से दावा किया जाता है. इस तरह के संबंधों का एक उदाहरण है, खास अधिकारों या अनुमतियों का ऐक्सेस.

सूची

rpc List(ListRequest) returns (ListResponse)

बताए गए टारगेट और स्टेटमेंट स्ट्रिंग से मेल खाने वाले सोर्स से सभी स्टेटमेंट की सूची लाता है.

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

List निर्देश सबसे ज़्यादा काम तब आता है, जब एपीआई क्लाइंट उन सभी तरीकों के बारे में जानना चाहे, जिनसे दो एसेट जुड़ी हों या किसी खास सोर्स एसेट के सभी संबंधों की जानकारी दें. उदाहरण: एक ऐसी सुविधा जिससे उपयोगकर्ताओं को मिलते-जुलते आइटम पर जाने में मदद मिलती है. जब किसी डिवाइस पर कोई मोबाइल ऐप्लिकेशन चल रहा होता है, तो यह सुविधा संबंधित वेबसाइट या Google+ प्रोफ़ाइल पर नेविगेट करना आसान बना देती है.

Android ऐप्लिकेशन एसेट

Android ऐप्लिकेशन एसेट की जानकारी देता है.

फ़ील्ड का नाम टाइप ब्यौरा
package_name string Android ऐप्लिकेशन एसेट की पहचान, उनके Java पैकेज के नाम से होती है. उदाहरण के लिए, Google Maps ऐप्लिकेशन पैकेज के नाम com.google.android.apps.maps का इस्तेमाल करता है. ज़रूरी है
certificate CertificateInfo

दुनिया भर में पैकेज के नाम की खासियत लागू नहीं की जाती. इसलिए, हमें हस्ताक्षर के सर्टिफ़िकेट की भी ज़रूरत है. यह सर्टिफ़िकेट, ऐप्लिकेशन के पैकेज के नाम के साथ अलग से होता है.

कुछ ऐप्लिकेशन के साइनिंग पासकोड को घुमाया जाता है, इसलिए समय के साथ उन पर अलग-अलग बटन से हस्ताक्षर किए जा सकते हैं. हम इन्हें अलग-अलग एसेट मानते हैं, क्योंकि हम इनका इस्तेमाल (पैकेज का नाम, सर्टिफ़िकेट) खास आईडी के तौर पर करते हैं. आम तौर पर, इससे कोई समस्या नहीं होती. ऐसा इसलिए होता है, क्योंकि ऐप्लिकेशन के दोनों वर्शन से एक जैसे या मिलते-जुलते स्टेटमेंट बनेंगे. हालांकि, किसी कुंजी को घुमाने पर, ऐप्लिकेशन के बारे में स्टेटमेंट देने वाली दूसरी एसेट को अपडेट करना होगा.

(ध्यान दें कि स्टेटमेंट के लिए पब्लिश और क्वेरी करने के सिंटैक्स में सिंटैक्स सिंटैक्स शुगर होती है, ताकि आप आसानी से ऐसे ऐप्लिकेशन तय कर सकें जो एक से ज़्यादा सर्टिफ़िकेट से जाने जाते हैं.) ज़रूरी है

सर्टिफ़िकेट की जानकारी

X509 सर्टिफ़िकेट की जानकारी देता है.

फ़ील्ड का नाम टाइप ब्यौरा
sha256_fingerprint string

सर्टिफ़िकेट का अपरकेस SHA-265 फ़िंगरप्रिंट. PEM सर्टिफ़िकेट से, इसे इस तरह से हासिल किया जा सकता है:

$ keytool -printcert -file $CERTFILE | grep SHA256:
SHA256: 14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83: \
    42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

या इस तरह:

$ openssl x509 -in $CERTFILE -noout -fingerprint -sha256
SHA256 Fingerprint=14:6D:E9:83:C5:73:06:50:D8:EE:B9:95:2F:34:FC:64: \
    16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF:44:E5

इस उदाहरण में, इस फ़ील्ड का कॉन्टेंट 14:6D:E9:83:C5:73: 06:50:D8:EE:B9:95:2F:34:FC:64:16:A0:83:42:E6:1D:BE:A8:8A:04:96:B2:3F:CF: 44:E5 होगा.

अगर ये टूल आपके लिए उपलब्ध नहीं हैं, तो PEM सर्टिफ़िकेट को DER फ़ॉर्मैट में बदला जा सकता है और उस स्ट्रिंग के SHA-256 हैश का हिसाब लगाया जा सकता है. इसके बाद, नतीजे को हेक्सस्ट्रिंग के तौर पर दिखाया जा सकता है. इसका मतलब है कि हर ऑक्टेट को अपरकेस में हेक्साडेसिमल स्ट्रिंग कोलन से अलग किया गया है.

एसेट

एसेट की खास तौर पर पहचान करता है.

डिजिटल एसेट, एक ऐसी ऑनलाइन इकाई है जिसे आसानी से पहचाना जा सकता है. साथ ही, इसमें कुछ सेवा या कॉन्टेंट भी मौजूद होता है. एसेट के उदाहरणों में वेबसाइट, Android ऐप्लिकेशन, Twitter फ़ीड, और Plus पेज शामिल हैं.

फ़ील्ड का नाम टाइप जानकारी
यूनियन फ़ील्ड, इनमें से सिर्फ़ एक:
web WebAsset सेट करें कि यह वेब एसेट है या नहीं.
android_app AndroidAppAsset सेट करें कि यह एक Android ऐप्लिकेशन एसेट है या नहीं.

CheckRequest

किसी खास एसेट लिंक की मौजूदगी की जांच करने के लिए इस्तेमाल किया जाने वाला मैसेज.

फ़ील्ड का नाम टाइप जानकारी
source Asset स्टेटमेंट सूची को होस्ट करने वाला सोर्स. इसका इस्तेमाल Check() कॉल को सही स्रोत तक रूट करने के लिए किया जाता है.
relation string

संबंध के लिए क्वेरी स्ट्रिंग.

हम <kind>/<detail> फ़ॉर्मैट की स्ट्रिंग के साथ संबंधों की पहचान करते हैं, जहां <kind> को पहले से तय मकसद की कैटगरी के सेट में से एक होना चाहिए. साथ ही, <detail> एक फ़्रीफ़ॉर्म फ़ॉर्म वाली अक्षर और अंक वाली स्ट्रिंग होती है जो स्टेटमेंट के खास इस्तेमाल के उदाहरण की जानकारी देती है.

काम करने वाले संबंधों की मौजूदा सूची के लिए, हमारे एपीआई से जुड़े दस्तावेज़ देखें.

क्वेरी के किसी एसेट लिंक से मिलान करने के लिए, क्वेरी और एसेट लिंक की संबंध स्ट्रिंग, दोनों मेल खानी चाहिए.

उदाहरण: delegate_permission/common.handle_all_urls से जुड़ी क्वेरी, संबंध delegate_permission/common.handle_all_urls वाले एसेट लिंक से मेल खाती है.

target Asset स्टेटमेंट की टारगेट एसेट.

जांच का जवाब

CheckएसेटLinks के कॉल के लिए रिस्पॉन्स मैसेज.

फ़ील्ड का नाम टाइप ब्यौरा
linked bool अगर अनुरोध में दी गई एसेट, अनुरोध में बताए गए संबंध से लिंक की गई हैं, तो 'सही' पर सेट करें. ज़रूरी है
max_age Duration जवाब देने की तारीख से, रिस्पॉन्स को कितने समय तक मान्य माना जाएगा. इस वजह से, आने वाले समय में अपडेट अपडेट नहीं होंगे. ज़रूरी है
debug_string string

लोगों के लिए पढ़ने लायक मैसेज, जिसमें असली उपयोगकर्ताओं को नतीजे को समझने, फिर से बनाने, और डीबग करने में मदद करने वाली जानकारी होती है.

यह मैसेज अंग्रेज़ी में होगा और फ़िलहाल हम कोई अनुवाद उपलब्ध नहीं कराने वाले हैं.

कृपया ध्यान दें कि इस स्ट्रिंग के कॉन्टेंट या फ़ॉर्मैट के बारे में कोई गारंटी नहीं दी जाती है. इसका कोई भी पहलू बिना किसी सूचना के बदला जा सकता है. आपको इस डेटा को प्रोग्राम के हिसाब से पार्स करने की कोशिश नहीं करनी चाहिए. अगर आपको लगता है कि आपको ऐसा करना है, क्योंकि आपकी ज़रूरत की जानकारी, एपीआई से सार्वजनिक नहीं की गई है, तो कृपया पहले हमसे संपर्क करें.

ListRequest

पहले से तय स्रोत और संबंध वाले सभी जाने-पहचाने स्टेटमेंट के लिए अनुरोध करने वाला मैसेज.

फ़ील्ड का नाम टाइप ब्यौरा
source Asset स्टेटमेंट सूची को होस्ट करने वाला सोर्स. इसका इस्तेमाल List() अनुरोध को सही स्रोत पर ले जाने के लिए किया जाता है. ज़रूरी है
relation string

सिर्फ़ उन ही असोसिएशन का इस्तेमाल करें जो बताई गई वैल्यू से मेल खाते हों.

संबंध स्ट्रिंग की पूरी जानकारी के लिए, Statement मैसेज देखें.

किसी स्टेटमेंट से मिलान करने वाली क्वेरी के लिए, इनमें से कोई एक सही होना चाहिए:

  • क्वेरी और स्टेटमेंट की रिलेशनशिप स्ट्रिंग, दोनों पूरी तरह से मैच होती हों या
  • क्वेरी की संबंध स्ट्रिंग खाली है या उपलब्ध नहीं है.

उदाहरण: delegate_permission/common.handle_all_urls से जुड़ी क्वेरी, संबंध delegate_permission/common.handle_all_urls वाले एसेट लिंक से मेल खाती है.

ListResponse

सूची कॉल के लिए जवाब मैसेज.

फ़ील्ड का नाम टाइप जानकारी
statements Statement इससे मिलते-जुलते सभी स्टेटमेंट की सूची.
max_age Duration जवाब देने की तारीख से, रिस्पॉन्स को कितने समय तक मान्य माना जाएगा. इस वजह से, आने वाले समय में अपडेट अपडेट नहीं होंगे. ज़रूरी है
debug_string string

लोगों के लिए पढ़ने लायक मैसेज, जिसमें असली उपयोगकर्ताओं को नतीजे को समझने, फिर से बनाने, और डीबग करने में मदद करने वाली जानकारी होती है.

यह मैसेज अंग्रेज़ी में होगा और फ़िलहाल हम कोई अनुवाद उपलब्ध नहीं कराने वाले हैं.

कृपया ध्यान दें कि इस स्ट्रिंग के कॉन्टेंट या फ़ॉर्मैट के बारे में कोई गारंटी नहीं दी जाती है. इसका कोई भी पहलू बिना किसी सूचना के बदला जा सकता है. आपको इस डेटा को प्रोग्राम के हिसाब से पार्स करने की कोशिश नहीं करनी चाहिए. अगर आपको लगता है कि आपको ऐसा करना है, क्योंकि आपकी ज़रूरत की जानकारी, एपीआई से सार्वजनिक नहीं की गई है, तो कृपया पहले हमसे संपर्क करें.

जानकारी

यह उस भरोसेमंद स्टेटमेंट के बारे में बताता है जो सोर्स एसेट और टारगेट एसेट के बीच संबंध के बारे में बताया गया है.

स्टेटमेंट हमेशा सोर्स एसेट से दिए जाते हैं. ये एसेट सीधे तौर पर या किसी अन्य स्टेटमेंट स्टेटमेंट में असाइन की जाती हैं, जो कहीं और स्टोर किया गया हो.

स्टेटमेंट और एसेट की ज़्यादा जानकारी के लिए, कृपया एपीआई के दस्तावेज़ का लैंडिंग पेज देखें.

फ़ील्ड का नाम टाइप ब्यौरा
source Asset हर स्टेटमेंट में एक सोर्स एसेट होती है. ज़रूरी है
relation string

इस संबंध से पता चलता है कि स्टेटमेंट का इस्तेमाल, सोर्स एसेट के मालिक (यानी, वह व्यक्ति या इकाई जिसने स्टेटमेंट जारी किया है) के मुताबिक किया गया है. हर पूरे स्टेटमेंट का संबंध होता है.

हम <kind>/<detail> फ़ॉर्मैट की स्ट्रिंग के साथ संबंधों की पहचान करते हैं, जहां <kind> को पहले से तय मकसद की कैटगरी के सेट में से एक होना चाहिए. साथ ही, <detail> एक फ़्रीफ़ॉर्म फ़ॉर्म वाली अक्षर और अंक वाली स्ट्रिंग होती है जो स्टेटमेंट के खास इस्तेमाल के उदाहरण की जानकारी देती है.

काम करने वाले संबंधों की मौजूदा सूची के लिए, हमारे एपीआई से जुड़े दस्तावेज़ देखें.

उदाहरण: delegate_permission/common.handle_all_urls ज़रूरी है

target Asset हर स्टेटमेंट में टारगेट एसेट होता है. ज़रूरी है

वेब एसेट

किसी वेब एसेट के बारे में बताता है.

फ़ील्ड का नाम टाइप जानकारी
site string

वेब एसेट की पहचान ऐसे यूआरएल से की जाती है जिसमें सिर्फ़ स्कीम, होस्टनेम, और पोर्ट के हिस्से होते हैं. इसका फ़ॉर्मैट

http[s]://<hostname>[:<port>]

होस्टनेम पूरी तरह से क्वालिफ़ाइड होने चाहिए: ये एक ही अवधि (".") पर खत्म होने चाहिए.

फ़िलहाल, सिर्फ़ "http" और "https" स्कीम की अनुमति है.

पोर्ट नंबर, दशमलव के तौर पर दिए जाते हैं. अगर पोर्ट के मानक नंबरों का इस्तेमाल किया जाता है, तो इन्हें छोड़ना होगा: एचटीटीपी के लिए 80 और https के लिए 443.

इस सीमित URL को हम "साइट" कहते हैं. एक ही स्कीम, होस्टनेम, और पोर्ट का इस्तेमाल करने वाले सभी यूआरएल को साइट का हिस्सा माना जाता है. इसलिए, वे वेब एसेट से जुड़े होते हैं.

उदाहरण: https://www.google.com साइट वाली एसेट में ये सभी यूआरएल शामिल हैं:

  • https://www.google.com/
  • https://www.google.com:443/
  • https://www.google.com/foo
  • https://www.google.com/foo?bar
  • https://www.google.com/foo#bar
  • https://user@password:www.google.com/

हालांकि, इसमें ये यूआरएल शामिल नहीं हैं:

  • http://www.google.com/ (गलत योजना)
  • https://google.com/ (होस्टनेम मेल नहीं खाता है)
  • https://www.google.com:444/ (पोर्ट मेल नहीं खाता है) ज़रूरी