हमारी तुलना गाइड देखें:
X API: एंटरप्राइज़ डेटा डिक्शनरी
परिचय
Enterprise
पोस्ट्स, X से जुड़ी हर चीज़ के मूलभूत निर्माण खंड हैं। पोस्ट्स लौटाने वाले सभी X APIs यह डेटा JavaScript Object Notation (JSON) में एन्कोड करके प्रदान करते हैं। JSON, कुंजी-मूल्य युग्मों पर आधारित होता है, जिनमें नामित एट्रिब्यूट्स और उनसे जुड़े values होते हैं। API से प्राप्त पोस्ट ऑब्जेक्ट्स में किसी X User का “status update” शामिल होता है, लेकिन Retweets, replies और quote Tweets भी पोस्ट ऑब्जेक्ट्स ही होते हैं। यदि कोई पोस्ट किसी दूसरे पोस्ट से संबंधित है, जैसे Retweet, reply या quote Tweet के रूप में, तो उसे पोस्ट ऑब्जेक्ट में पहचाना या एम्बेड किया जाता है। X के मूल डेटा फ़ॉर्मैट में सबसे सरल पोस्ट में भी, पोस्ट के अन्य एट्रिब्यूट्स, जैसे author, उल्लिखित users, टैग की गई place location, hashtags, cashtag symbols, media या URL links को दर्शाने के लिए nested JSON ऑब्जेक्ट्स होते हैं। X डेटा के साथ काम करते समय यह एक महत्वपूर्ण अवधारणा है, जिसे समझना ज़रूरी है। X API से आपको मिलने वाले पोस्ट डेटा का फ़ॉर्मैट, प्राप्त पोस्ट के type, आपके द्वारा उपयोग किए जा रहे X API, और फ़ॉर्मैट settings पर निर्भर करता है।
पोस्ट ऑब्जेक्ट्स लौटाने वाले Enterprise endpoints को इस तरह अपडेट किया गया है कि वे पोस्ट की edit history को समझने के लिए आवश्यक metadata प्रदान करें। इस metadata के बारे में अधिक जानने के लिए “Edit Posts” fundamentals पृष्ठ देखें।
X के मूल फ़ॉर्मैट में, JSON payload में ‘root-level’ एट्रिब्यूट्स और नेस्टेड JSON objects शामिल होंगे (जिन्हें यहाँ
{} notation में दिखाया गया है):
उपलब्ध डेटा फ़ॉर्मैट
कृपया ध्यान दें: एंटरप्राइज़ डेटा APIs के लिए Enriched Native फ़ॉर्मैट का उपयोग करना अत्यधिक अनुशंसित है।Enterprise data APIs डेटा को दो अलग-अलग फ़ॉर्मैट में उपलब्ध कराते हैं। मानक v1.1 native फ़ॉर्मैट के सबसे निकट का एंटरप्राइज़ फ़ॉर्मैट Native Enriched है। पुराना एंटरप्राइज़ डेटा फ़ॉर्मैट Activity Streams है, जिसे मूल रूप से उस समय X और अन्य सोशल मीडिया डेटा प्रदाताओं के बीच एक सामान्यीकृत फ़ॉर्मैट के रूप में Gnip ने लागू किया था और इस्तेमाल किया था। हालांकि यह फ़ॉर्मैट अभी भी उपलब्ध है, X ने 2017 से केवल native enriched फ़ॉर्मैट में ही नई सुविधाओं और विकास पर निवेश किया है। Enriched native फ़ॉर्मैट ठीक वैसा ही है जैसा इसका नाम दर्शाता है; इसमें native X objects के साथ-साथ एंटरप्राइज़ डेटा उत्पादों के लिए उपलब्ध अतिरिक्त enrichment भी शामिल हैं, जैसे URL unwinding metadata, profile geo, poll metadata, और अतिरिक्त engagement metrics।
- Enriched Native फ़ॉर्मैट में 2017 से जोड़ा गया सभी नया मेटाडेटा शामिल है, जैसे poll metadata, साथ ही reply_count और quote_count जैसे अतिरिक्त मेट्रिक्स।
- 2017 में हुए character update के बाद से Activity Streams फ़ॉर्मैट को नए मेटाडेटा या enrichment के साथ अपडेट नहीं किया गया है।
- Expanded and enhanced URLs enrichment
- Matching rules enrichment
- Poll metadata enrichment
- Profile geo enrichment
डेटा फ़ॉर्मैट के अनुसार ऑब्जेक्ट की तुलना
पार्सिंग के लिए सर्वोत्तम प्रथाएँ
- X JSON को UTF-8 वर्णों का उपयोग करके एन्कोड किया जाता है।
- पार्सर को फ़ील्ड्स के क्रम में होने वाले बदलावों को आसानी से संभालने में सक्षम होना चाहिए। यह मानकर चलना चाहिए कि पोस्ट JSON, डेटा के एक अनक्रमित hash के रूप में दिया जाता है।
- पार्सर को ‘नए’ फ़ील्ड्स जोड़े जाने को भी सहन करना चाहिए।
- JSON पार्सर को ‘अनुपस्थित’ फ़ील्ड्स के प्रति सहनशील होना चाहिए, क्योंकि सभी फ़ील्ड्स हर संदर्भ में दिखाई नहीं देते।
- सामान्यतः, null फ़ील्ड, खाली set, और किसी फ़ील्ड की अनुपस्थिति को एक ही बात मानना सुरक्षित है
Enterprise Native Enriched डेटा ऑब्जेक्ट्स
Native Enriched Tweet ऑब्जेक्ट
क्या आप यह और विस्तार से जानना चाहते हैं कि Native Enriched डेटा फ़ॉर्मैट, X API v2 फ़ॉर्मैट से कैसे मैप होता है? हमारी तुलना गाइड देखें: Native Enriched की X API v2 से तुलना
पोस्ट ऑब्जेक्ट
id, created_at, और text जैसे मूलभूत एट्रिब्यूट्स शामिल हैं। पोस्ट ऑब्जेक्ट्स में user, entities, और extended_entities को शामिल करने वाले nested objects भी होते हैं। पोस्ट ऑब्जेक्ट्स में retweeted_status, quoted_status, और extended_tweet जैसे अन्य nested पोस्ट objects भी होते हैं। Native enriched format में अतिरिक्त रूप से एक matching_rules object भी होता है।
X डेटा डिक्शनरी
अतिरिक्त पोस्ट एट्रिब्यूट्स
अप्रचलित एट्रिब्यूट
Nested पोस्ट ऑब्जेक्ट्स
कोट ट्वीट्स
विस्तारित पोस्ट्स
Native Enriched User ऑब्जेक्ट
उपयोगकर्ता डेटा शब्दकोश
अब समर्थित नहीं (deprecated) एट्रिब्यूट
उदाहरण उपयोगकर्ता ऑब्जेक्ट:
Native Enriched Geo ऑब्जेक्ट्स
place ऑब्जेक्ट हमेशा मौजूद रहता है। Places विशिष्ट, नामित स्थान होते हैं, जिनसे संबंधित geo coordinates जुड़े होते हैं। जब उपयोगकर्ता अपने पोस्ट को कोई स्थान असाइन करने का निर्णय लेते हैं, तो उन्हें संभावित X Places की एक सूची दिखाई जाती है। API का उपयोग करके पोस्ट करते समय, place_id निर्दिष्ट करके एक X Place अटैच किया जा सकता है। Places से संबद्ध पोस्ट्स का यह आवश्यक नहीं है कि वे उसी स्थान से जारी किए गए हों; वे उस स्थान के बारे में भी हो सकते हैं।
geo और coordinates ऑब्जेक्ट्स केवल तभी मौजूद (non-null) होते हैं, जब पोस्ट को एक सटीक स्थान असाइन किया गया हो। यदि एक सटीक स्थान प्रदान किया गया है, तो coordinates ऑब्जेक्ट भौगोलिक निर्देशांकों के साथ एक [long, lat] array प्रदान करेगा, और उस स्थान से संबंधित एक X Place असाइन किया जाएगा।
Place डेटा शब्दकोश
Geo ऑब्जेक्ट डेटा शब्दकोश
Coordinates ऑब्जेक्ट डेटा शब्दकोश
व्युत्पन्न लोकेशन
उदाहरण:
X एंटिटीज़
परिचय
एंटिटीज़, X पर पोस्ट की गई सामग्री के बारे में metadata और अतिरिक्त प्रासंगिक जानकारी प्रदान करते हैं।entities सेक्शन में पोस्ट्स में शामिल सामान्य तत्वों की arrays होती हैं: hashtags, user mentions, links, stock tickers (symbols), X polls, और संलग्न media। पोस्ट्स को ingest करते समय ये arrays developers के लिए सुविधाजनक होती हैं, क्योंकि X ने मूल रूप से text body को पहले ही process, या parse, कर दिया होता है। पोस्ट body में इन entities को अलग से खोजने की आवश्यकता के बजाय, आपका parser सीधे इस JSON सेक्शन में जा सकता है, और वे वहीं मिल जाती हैं।
Parsing को आसान बनाने के अलावा, entities सेक्शन उपयोगी ‘value-add’ metadata भी प्रदान करता है। उदाहरण के लिए, अगर आप Enhanced URLs enrichment का उपयोग कर रहे हैं, तो URL metadata में पूरी तरह expanded URLs के साथ-साथ संबंधित website titles और descriptions भी शामिल होते हैं। एक और उदाहरण यह है कि जब user mentions होते हैं, तो entities metadata में numeric user ID भी शामिल होती है, जो कई X APIs को requests करते समय उपयोगी होती है।
हर पोस्ट JSON payload में entities सेक्शन शामिल होता है, जिसमें कम-से-कम hashtags, urls, user_mentions, और symbols attributes का सेट होता है, भले ही इनमें से कोई भी entity पोस्ट message का हिस्सा न हो। उदाहरण के लिए, अगर आप “Hello World!” body वाली और बिना किसी संलग्न media की किसी पोस्ट का JSON देखते हैं, तो पोस्ट के JSON में निम्नलिखित सामग्री शामिल होगी, जिसमें entity arrays में शून्य items होंगे:
- media और polls एंटिटी केवल तभी दिखाई देंगी, जब उस प्रकार का कॉन्टेंट पोस्ट का हिस्सा हो।
- यदि आप native media (फ़ोटो, वीडियो या GIFs) के साथ काम कर रहे हैं, तो Extended एंटिटीज़ object का उपयोग करना बेहतर है।
Entities ऑब्जेक्ट
entities और extended_entities सेक्शन, दोनों entity objects की arrays से मिलकर बने हैं। नीचे आपको इनमें से प्रत्येक entity object का विवरण मिलेगा, जिसमें data dictionaries भी शामिल हैं, जो object के attribute names, types, और संक्षिप्त विवरण बताती हैं। हम यह भी बताएँगे कि कौन से PowerTrack Operators इन attributes से मेल खाते हैं, और कुछ sample JSON payloads भी शामिल करेंगे।
पोस्ट्स में मिलने वाली सामान्य entities का एक संग्रह, जिसमें hashtags, links, और user mentions शामिल हैं। इस entities object में media attribute शामिल होता है, लेकिन entiites सेक्शन में इसका implementation केवल उन पोस्ट्स के लिए पूरी तरह सटीक है जिनमें एक ही photo हो। जिन सभी पोस्ट्स में एक से अधिक photo, video, या animated GIF हो, उनके लिए पाठक को extended_entities सेक्शन देखने का निर्देश दिया जाता है।
Entities डेटा शब्दकोश
entities संरचना, इन उप-ऑब्जेक्ट्स के डेटा शब्दकोश, और उनसे मेल खाने वाले Operators को समझाने के बाद, उन्हें प्रदान किया जाएगा।
हैशटैग ऑब्जेक्ट
entities सेक्शन में एक hashtags array होता है, जिसमें पोस्ट बॉडी में शामिल हर हैशटैग के लिए एक ऑब्जेक्ट होता है। अगर कोई हैशटैग मौजूद नहीं है, तो इसमें एक खाली array शामिल होता है।
PowerTrack # Operator का उपयोग text attribute पर match करने के लिए किया जाता है। has:hashtags Operator तब match करेगा, जब array में कम से कम एक item मौजूद हो।
मीडिया ऑब्जेक्ट
entities सेक्शन में एक media array होगा, जिसमें एक ही मीडिया ऑब्जेक्ट शामिल होगा। यदि कोई नेटिव मीडिया संलग्न नहीं किया गया है, तो entities में media array नहीं होगा। निम्न कारणों से पोस्ट के नेटिव मीडिया को प्रोसेस करने के लिए extended_entities सेक्शन का उपयोग किया जाना चाहिए:
- मीडिया
typeहमेशा ‘photo’ दिखाएगा, यहाँ तक कि उन मामलों में भी जहाँ पोस्ट के साथ वीडियो या GIF संलग्न हो। - हालांकि अधिकतम चार फ़ोटो संलग्न की जा सकती हैं,
entitiesसेक्शन में केवल पहली ही सूचीबद्ध होगी।
has:media Operator मैच करेगा।
मीडिया आकार ऑब्जेक्ट्स
आकारों का ऑब्जेक्ट
Size ऑब्जेक्ट
फ़ोटो मीडिया URL फ़ॉर्मैटिंग
media_url या media_url_https को अपने-आप भी लोड किया जा सकता है, जिससे डिफ़ॉल्ट रूप से medium वैरिएंट लोड होता है। हालाँकि, जहाँ संभव हो, पूरी तरह फ़ॉर्मैट किया गया फ़ोटो मीडिया URL देना बेहतर है।
फ़ोटो मीडिया URL के तीन भाग होते हैं:
हम इन तीन भागों (base URL, format, और name) को मिलाकर लोड किया जाने वाला फ़ोटो मीडिया URL बनाते हैं। इस तरीके से इमेज लोड करने के 2 फ़ॉर्मैट हैं, legacy और modern। सभी इमेज लोड में legacy फ़ॉर्मैट का उपयोग बंद कर देना चाहिए और modern फ़ॉर्मैट का उपयोग करना चाहिए। modern फ़ॉर्मैट का उपयोग करने से कॉलर के लिए बेहतर CDN hit rate मिलता है, जिससे लोड latency बेहतर होती है, क्योंकि Data Center से मीडिया जनरेट और लोड करने की आवश्यकता पड़ने की संभावना कम हो जाती है।
URL ऑब्जेक्ट
entities सेक्शन में एक urls array होगा, जिसमें पोस्ट बॉडी में शामिल हर लिंक के लिए एक ऑब्जेक्ट होगा। अगर कोई लिंक मौजूद नहीं है, तो इसमें एक खाली array शामिल होगा।
अगर array में कम से कम एक आइटम है, तो has:links Operator मैच करेगा। url: Operator का उपयोग expanded_url attribute पर मैच करने के लिए किया जाता है। अगर आप Expanded URL enrichment का उपयोग कर रहे हैं, तो url: Operator का उपयोग unwound.url (पूरी तरह unwound URL) attribute पर मैच करने के लिए किया जाता है। अगर आप Exhanced URL enrichment का उपयोग कर रहे हैं, तो url_title: और url_decription: Operators का उपयोग unwound.title और unwound.description attributes पर मैच करने के लिए किया जाता है।
अगर आप Expanded और/या Enhanced URL enrichments का उपयोग कर रहे हैं, तो निम्न metadata
unwound attribute के अंतर्गत उपलब्ध है:
उपयोगकर्ता उल्लेख ऑब्जेक्ट
entities सेक्शन में एक user_mentions array होता है, जिसमें पोस्ट के मुख्य पाठ में शामिल प्रत्येक उपयोगकर्ता उल्लेख के लिए एक ऑब्जेक्ट शामिल होता है। यदि कोई उपयोगकर्ता उल्लेख मौजूद नहीं है, तो इसमें एक खाली array शामिल होता है।
PowerTrack @ Operator का उपयोग screen_name attribute पर मिलान करने के लिए किया जाता है। has:mentions Operator तब मिलान करेगा, जब array में कम-से-कम एक आइटम मौजूद हो।
सिंबल ऑब्जेक्ट
entities सेक्शन में symbols array होता है, जिसमें पोस्ट बॉडी में शामिल हर $cashtag के लिए एक ऑब्जेक्ट शामिल होता है। अगर कोई symbol मौजूद न हो, तो इसमें एक खाली array शामिल होगा।
PowerTrack $ Operator का उपयोग text attribute पर match करने के लिए किया जाता है। has:symbols Operator तब match करेगा, जब array में कम-से-कम एक item मौजूद हो।
पोल ऑब्जेक्ट
entities सेक्शन में polls array होगा, जिसमें एक poll ऑब्जेक्ट शामिल होगा। अगर पोल शामिल नहीं है, तो entities सेक्शन में polls array नहीं होगा।
ध्यान दें कि यह पोल मेटाडेटा केवल निम्नलिखित Enterprise APIs के साथ उपलब्ध है:
- Volume streams (Decahose )
- Real-time PowerTrack
- X Search APIs (Full-Archive Search और 30-Day Search)
Retweet और Quote Tweet का विवरण
रीट्वीट्स












http://wapo.st/2w8iwPQ #Testing
ऊपर दिए गए उदाहरण में, URL और हैशटैग दोनों प्रभावित हुए थे। चूंकि हैशटैग पूरी तरह ट्रंकेट हो गया था और URL आंशिक रूप से ट्रंकेट हुआ था, इसलिए ये टॉप-लेवल entities में मौजूद नहीं हैं। आप text field पर “RT @floodsocial: ” prefix से आने वाली अतिरिक्त user_mentions टॉप-लेवल entity को भी देखेंगे।
हालांकि, retweeted_status में पोस्ट का टेक्स्ट और entities मूल पोस्ट को बिना किसी truncation या गलत entities के पूरी तरह दर्शाते हैं, इसलिए हमारी सिफारिश है कि रीट्वीट्स के लिए nested _retweeted_status _object पर भरोसा करें।
Quote Tweets
Quote Tweets को 2016 में पेश किया गया था, और ये Retweets से इस मायने में अलग हैं कि जब आप किसी पोस्ट को “quote” करते हैं, तो आप साझा किए गए पोस्ट के “ऊपर” नई सामग्री जोड़ते हैं। इस नई सामग्री में लगभग वह सब कुछ शामिल हो सकता है जो किसी मूल पोस्ट में हो सकता है, जैसे नया टेक्स्ट, हैशटैग, मेंशन और URL। Quote Tweets में मूल मीडिया (फ़ोटो, वीडियो और GIFs) शामिल हो सकते हैं, और वे entities object के अंतर्गत दिखाई देंगे। चूंकि X entities जोड़ी जा सकती हैं, इसलिए Quote entities मूल entities से अलग होने की संभावना है। इस उदाहरण में, Quote Tweet के अंत में एक नया URL और हैशटैग जोड़ा गया था। यह पोस्ट, https://x.com/FloodSocial/status/907983973225160704, निम्नलिखित पोस्ट टेक्स्ट रखता है: strange and equally tragic when islands flood… trans-atlantic testing of quote tweets | @thisuser @thatuserhttp://bit.ly/2vMMDuu #testing इस मामले में, शीर्ष-स्तरीय entities, Quote के विवरण नहीं दर्शाती हैं। हालांकि, extended_tweet में पोस्ट text और entities, Quote Tweet को बिना किसी truncation या गलत entities के पूरी तरह दर्शाते हैं, इसलिए हमारी अनुशंसा है कि Quote Tweets के लिए nested _extended_tweet _object पर भरोसा करें।उपयोगकर्ता ऑब्जेक्ट के लिए एंटिटीज़
JSON उदाहरण
X विस्तारित एंटिटीज़
परिचय
extended_entities JSON ऑब्जेक्ट शामिल होगा। extended_entities ऑब्जेक्ट में media ऑब्जेक्ट्स का एक media ऐरे होता है (इसके डेटा शब्दकोश के लिए entities सेक्शन देखें)। extended_entities सेक्शन में hashtags और links जैसे अन्य किसी भी entity प्रकार को शामिल नहीं किया जाता। extended_entities सेक्शन में मौजूद media ऑब्जेक्ट, संरचना के हिसाब से entities सेक्शन में शामिल media ऑब्जेक्ट के समान है।
पोस्ट्स के साथ केवल एक ही प्रकार का मीडिया संलग्न किया जा सकता है। फ़ोटो के लिए अधिकतम चार फ़ोटो संलग्न की जा सकती हैं। वीडियो और GIFs के लिए, केवल एक संलग्न किया जा सकता है। चूँकि extended_entities सेक्शन में मीडिया type मेटाडेटा मीडिया प्रकार (‘photo’, ‘video’ या ‘animated_gif’) को सही रूप से दर्शाता है, और अधिकतम 4 फ़ोटो का समर्थन करता है, इसलिए यह नेटिव मीडिया के लिए पसंदीदा मेटाडेटा स्रोत है।
उदाहरण पोस्ट्स और JSON पेलोड
इस पोस्ट का
entities अनुभाग यहाँ दिया गया है:
extented_entities सेक्शन दिया गया है:
नेटिव वीडियो वाली पोस्ट
video_info ऑब्जेक्ट को additional_media_info ऑब्जेक्ट से बदल दिया जाएगा।
additional_media_info में प्रकाशक द्वारा दी गई अतिरिक्त मीडिया जानकारी होगी, जैसे title, description और embeddable flag। जब embeddable=false होता है, तो वीडियो सामग्री केवल X के आधिकारिक क्लाइंट्स पर उपलब्ध होती है। इस स्थिति में, payload में दिए गए सभी वीडियो URL X-आधारित होंगे, ताकि उपयोगकर्ता लिंक पर क्लिक करके वीडियो को X के स्वामित्व वाले प्लेटफ़ॉर्म पर खोल सके।
यहाँ एक उदाहरण दिया गया है कि इस स्थिति में विस्तारित एंटिटीज़ ऑब्जेक्ट कैसा दिखेगा:
entities अनुभाग है, जिसमें type ग़लती से ‘photo’ पर सेट है। फिर भी, ‘video’ और ‘animated_gif’ सहित सभी मूल मीडिया प्रकारों के लिए extended_entities अनुभाग को प्राथमिकता दी जाती है।
एक एनिमेटेड GIF वाला पोस्ट
नीचे एक एनिमेटेड GIF वाले इस पोस्ट के लिए विस्तारित एंटिटीज़ metadata दिया गया है:
Native Enriched उदाहरण पेलोड्स
पोस्ट
पोस्ट का जवाब
विस्तृत पोस्ट
extended_entitites सहित पोस्ट
रीट्वीट
Quote Tweet
रीट्वीट किया हुआ Quote Tweet
Enterprise Activity Streams डेटा ऑब्जेक्ट्स
क्या आप यह जानना चाहते हैं कि Activity Streams डेटा फ़ॉर्मैट, X API v2 फ़ॉर्मैट से कैसे मैप होता है?
कृपया ध्यान दें: enterprise data APIs के लिए Enriched Native फ़ॉर्मैट का उपयोग करने की कड़ी अनुशंसा की जाती है।
- Enriched Native फ़ॉर्मैट में 2017 से जोड़ा गया सारा नया मेटाडेटा शामिल है, जैसे poll metadata, और reply_count तथा quote_count जैसे अतिरिक्त मेट्रिक्स।
- Activity Streams फ़ॉर्मैट को 2017 के character update के बाद से नए मेटाडेटा या enrichments के साथ अपडेट नहीं किया गया है।
Activity ऑब्जेक्ट
डेटा शब्दकोश
अतिरिक्त पोस्ट विशेषताएँ
अप्रचलित विशेषताएँ
नेस्टेड पोस्ट activity obejcts
{ "id": "tag:search.x.com,2005:222222222222", "objectType": "activity", "verb": "post", "body": "Quoting a Tweet: https://t.co/mxiFJ59FlB", "actor": { "displayName": "TheQuoter2" }, "object": { "objectType": "note", "id": "object:search.x.com,2005:111111111", "summary": "https://t.co/mxiFJ59FlB" }, "twitter_entities": {}, "twitter_extended_entities": {}, "gnip": {}, "twitter_quoted_status": { "id": "tag:search.x.com,2005:111111111", "objectType": "activity", "verb": "post", "body": "console.log('Happy birthday, JavaScript!');", "actor": { "displayName": "TheOriginalTweeter" }, "object": { "objectType": "note", "id": "object:search.x.com,2005:111111111" }, "twitter_entities": {} } }
रीट्वीट किया गया Quote Tweet:
Long ऑब्जेक्ट
Actor ऑब्जेक्ट
डेटा शब्दकोश
अब समर्थित नहीं रहने वाली (deprecated) विशेषताएँ
उदाहरण:
Location ऑब्जेक्ट
स्थान डेटा शब्दकोश
profileLocations व्युत्पन्न ऑब्जेक्ट्स
उदाहरण
X entities object
उदाहरण:
X विस्तारित entities ऑब्जेक्ट
उदाहरण:
Gnip ऑब्जेक्ट
gnip ऑब्जेक्ट में सक्रिय enrichments द्वारा जोड़ा गया metadata होता है, साथ ही activity के लिए लागू matching rules का संकेत भी शामिल होता है।
डेटा शब्दकोश
उदाहरण:
Activity Streams पेलोड के उदाहरण
long_object सहित पोस्ट गतिविधि
twitter_extended_entities सहित पोस्ट गतिविधि
Tweet मेटाडेटा टाइमलाइन
परिचय**
मूल रूप से, X एक सार्वजनिक, रीयल-टाइम और वैश्विक संचार नेटवर्क है। 2006 से, X का विकास उपयोगकर्ताओं के इस्तेमाल के पैटर्न और प्रचलनों, साथ ही नए प्रोडक्ट फीचर्स और सुधारों, दोनों से प्रेरित रहा है। यदि आप ऐतिहासिक शोध के लिए X डेटा का उपयोग कर रहे हैं, तो इस विकास-क्रम की समयरेखा को समझना डेटा आर्काइव से रुचिकर पोस्ट्स खोजने के लिए महत्वपूर्ण है। X की शुरुआत एक सरल SMS मोबाइल ऐप के रूप में हुई थी, और समय के साथ यह एक व्यापक संचार प्लेटफ़ॉर्म बन गया। ऐसा प्लेटफ़ॉर्म जिसमें APIs का पूरा सेट उपलब्ध है। APIs हमेशा से X नेटवर्क का एक प्रमुख स्तंभ रही हैं। पहली API, X के लॉन्च होने के तुरंत बाद ही सार्वजनिक कर दी गई थी। जब 2009 में पहली बार पोस्ट्स में geo-tagging पेश की गई, तो इसे एक Geo API के माध्यम से उपलब्ध कराया गया (और बाद में किसी पोस्ट को ‘geo-tag’ करने की सुविधा X.com user-interface में एकीकृत कर दी गई)। आज, X की APIs उस दो-तरफ़ा संचार नेटवर्क को शक्ति देती हैं, जो ब्रेकिंग समाचार और जानकारी साझा करने का एक प्रमुख स्रोत बन चुका है। इस वैश्विक, रीयल-टाइम संचार चैनल के ऊपर निर्माण करने की संभावनाएँ अनंत हैं। X दो ऐतिहासिक APIs उपलब्ध कराता है जो सार्वजनिक रूप से उपलब्ध हर पोस्ट तक पहुँच प्रदान करती हैं: Historical PowerTrack और Full-Archive Search API। दोनों APIs operators का एक सेट उपलब्ध कराती हैं, जिनका उपयोग रुचिकर पोस्ट्स को query करने और एकत्र करने के लिए किया जाता है। ये operators हर पोस्ट से जुड़े कई तरह के attributes पर match करते हैं—ऐसे सैकड़ों attributes पर, जैसे पोस्ट का text content, author का account name, और पोस्ट में साझा किए गए links। पोस्ट्स और उनके attributes को JSON में encode किया जाता है, जो text-based data interchange का एक सामान्य format है। इसलिए, जैसे-जैसे नए फीचर्स जोड़े गए, नए JSON attributes भी सामने आए, और आम तौर पर उन attributes पर match करने के लिए नए API operators भी पेश किए गए। यदि आपके use-case में X पर दुनिया ने क्या कहा है, इसे सुनने की आवश्यकता शामिल है, तो आप जितना बेहतर यह समझेंगे कि operators के लिए match करने योग्य JSON metadata कब उपलब्ध होना शुरू हुआ, आपके historical PowerTrack filters उतने ही अधिक प्रभावी होंगे। अब, हम कुछ प्रमुख अवधारणाओं का परिचय देंगे, जो यह समझने की पृष्ठभूमि तैयार करती हैं कि पोस्ट metadata में हुए updates आपकी रुचि के data signal को खोजने को कैसे प्रभावित करते हैं।मुख्य अवधारणाएँ**
उपयोगकर्ता-परंपराओं से X फर्स्ट-क्लास ऑब्जेक्ट्स तक
पोस्ट मेटाडेटा, परिवर्तनशीलता, अपडेट, और वर्तमानता
“नेटिव” मीडिया
has:videos, has:images, और has:media शामिल हैं। ये केवल उस मीडिया सामग्री से मेल खाते हैं जिसे X की सुविधाओं के माध्यम से साझा किया गया हो। X प्लेटफ़ॉर्म के बाहर होस्ट किए गए अन्य मीडिया से मिलान करने के लिए, आपको ऐसे Operators का उपयोग करना होगा जो URL metadata पर मिलान करते हैं।
इसलिए, Historical PowerTrack और Full-Archive Search के उत्पाद विवरणों में जाने से पहले, आइए देखें कि X एक उत्पाद और प्लेटफ़ॉर्म के रूप में समय के साथ कैसे विकसित हुआ।
X समयरेखा
नीचे आपको X की एक चुनी हुई समयरेखा मिलेगी। इनमें से अधिकांश X अपडेट्स ने किसी न किसी रूप में उपयोगकर्ता व्यवहार, पोस्ट JSON सामग्री, क्वेरी Operators, या इन तीनों को मूल रूप से प्रभावित किया। API प्लेटफ़ॉर्म के रूप में X को देखें, तो निम्नलिखित घटनाओं ने किसी न किसी तरह उन JSON payloads को प्रभावित किया जिनका उपयोग पोस्ट्स को encode करने के लिए किया जाता है। बदले में, यही JSON विवरण इस बात को प्रभावित करते हैं कि X के historical APIs उनका मिलान कैसे करते हैं।
ध्यान दें कि यह समयरेखा सामान्यतः सटीक है, लेकिन संपूर्ण नहीं है।
2006
- अक्टूबर
- @replies एक प्रचलित परंपरा बन जाता है।
- Cashtags जून 2012 में क्लिक किए जा सकने वाले/खोजे जा सकने वाले लिंक बन गए।
- नवंबर - Favorites पेश किए गए।
2007
- जनवरी -
in_reply_toमेटाडेटा और UI reply button के साथ @replies एक प्रथम-श्रेणी ऑब्जेक्ट बन जाते हैं। - अप्रैल - रीट्वीट एक प्रचलित परंपरा बन जाते हैं।
- अगस्त - #hashtags पोस्ट्स को खोजने और व्यवस्थित करने के लिए एक प्रमुख साधन के रूप में उभरते हैं।
2009
- फ़रवरी - स्टॉक टिकर प्रतीकों पर चर्चा के लिए
$cashtagsएक आम प्रचलन बन गए। - मई - पोस्ट बॉडी के आगे “Via @” जोड़कर रीट्वीट ‘beta’ पेश किया गया।
- जून - सत्यापित खाते शुरू किए गए।
- अगस्त - “RT @” पैटर्न और नए
retweet_statusमेटाडेटा के साथ रीट्वीट एक प्रथम-श्रेणी ऑब्जेक्ट बन गए। - अक्टूबर - सूची सुविधा लॉन्च की गई।
- नवंबर - Post Geotagging API लॉन्च किया गया, जिससे उपयोगकर्ताओं को तृतीय-पक्ष ऐप्स के ज़रिए स्थान साझा करने का पहला तरीका मिला।
2010
- जून - पोस्ट्स की जियो-टैगिंग के लिए X Places पेश किया गया।
- अगस्त - वेबसाइटों के लिए पोस्ट बटन लॉन्च किया गया। इससे लिंक शेयर करना आसान हो गया।
2011
- मई - Follow बटन पेश किया गया, जिससे वेबसाइटों से जुड़े अकाउंट्स को फ़ॉलो करना आसान हो गया।
- अगस्त - नेटिव फ़ोटो पेश की गईं।
2012
- जून - $Cashtags क्लिक करने और खोजने योग्य लिंक बन जाते हैं।
2014
- मार्च - फ़ोटो टैगिंग और अधिकतम चार फ़ोटो का समर्थन. Extended X Entities मेटाडेटा पेश किया गया।
- अप्रैल - X UI में इमोजी के लिए मूल समर्थन जोड़ा गया। कम से कम 2008 से पोस्ट्स में इमोजी का व्यापक रूप से उपयोग होता रहा है।
2015
- अप्रैल - X के ‘पोस्ट’ यूज़र-इंटरफ़ेस डिज़ाइन में बदलाव के कारण कम पोस्ट्स जियो-टैग की गईं।
- अक्टूबर - X Polls पेश किए गए. शुरुआत में, Polls में 24 घंटे की मतदान अवधि के साथ दो विकल्प समर्थित थे। नवंबर में, Polls ने 5 मिनट से सात दिनों तक की मतदान अवधि के साथ चार विकल्पों का समर्थन करना शुरू किया। Poll metadata फ़रवरी 2017 में उपलब्ध कराया गया (केवल enriched native format में)।
2016
- फ़रवरी - पोस्ट कंपोज़र में नेटिव तौर पर होस्ट किए गए खोजने योग्य GIFs.
- मई - “140 के साथ और अधिक” (dmw140) की घोषणा की गई, जिसमें पोस्ट के 140-वर्णीय संदेश के संदर्भ में रिप्लाई और संलग्न मीडिया को संभालने के नए तरीकों की योजनाएँ बताई गईं।
- जून - नेटिव वीडियो समर्थन
- जून - कोटेड रीट्वीट सामान्य रूप से उपलब्ध हुए।
- जून - फ़ोटो में जोड़ने के लिए स्टिकर्स पेश किए गए.
- सितंबर - ‘नेटिव अटैचमेंट्स’ पेश किए गए, जिनमें अंत में आने वाला URL 140 वर्णों में नहीं गिना जाता था (“dmw140, भाग 1”).
2017
- फ़रवरी - पोस्ट मेटाडेटा में X Poll मेटाडेटा शामिल किया गया (केवल enriched native format में)।
- अप्रैल - ‘Simplified Replies’ पेश किया गया, जिसमें replied-to-accounts को 140 अक्षरों की सीमा में नहीं गिना जाता था (“dmw140, part 2”)।
- मई - GDPR updates user.time_zone को null पर सेट किया गया, user.utc_offset को null पर सेट किया गया, user.profile_background_image_url को default value पर सेट किया गया
- जून - quoteTweet formatting changes के फ़ॉर्मैटिंग बदलावों को अपडेट करना
- 29 सितंबर - पोस्ट्स को संपादित करने की सुविधा एक छोटे परीक्षण समूह के लिए जारी की गई। जहाँ प्रासंगिक हो, संपादित पोस्ट मेटाडेटा को पोस्ट ऑब्जेक्ट में जोड़ा गया। इसमें edit_history और edit_controls ऑब्जेक्ट्स शामिल हैं। यह मेटाडेटा उन पोस्ट्स के लिए वापस नहीं किया जाएगा जो editable functionality जोड़े जाने से पहले बनाए गए थे। इन मेटाडेटा के लिए कोई संबंधित Operators नहीं हैं। पोस्ट संपादन कैसे काम करता है, इसके बारे में अधिक जानने के लिए Edit Posts fundamentals देखें
lang: Operator है, जिसका उपयोग किसी निर्दिष्ट भाषा में पोस्ट्स का मिलान करने के लिए किया जाता है। X एक language classification service प्रदान करता है (जो 50 से अधिक भाषाओं का समर्थन करती है), और X APIs हर पोस्ट के लिए जनरेट किए गए JSON में यह मेटाडेटा उपलब्ध कराते हैं। इसलिए, यदि कोई पोस्ट Spanish में लिखी गई है, तो “lang” JSON attribute को “es” पर सेट किया जाता है। इसलिए, यदि आप lang:es clause के साथ एक filter बनाते हैं, तो वह केवल उन पोस्ट संदेशों से मेल खाएगा जिन्हें Spanish के रूप में वर्गीकृत किया गया है।
यह समयरेखा जानकारी प्राप्त पोस्ट डेटा की बेहतर व्याख्या करने में भी मदद कर सकती है। मान लीजिए आप 2008 और 2012 Summer Olympics के बारे में सामग्री साझा किए जाने का अध्ययन कर रहे थे। यदि आप केवल is:retweet Operator लागू करते, तो 2008 में कोई डेटा मेल नहीं खाता। हालांकि, 2012 के लिए संभवतः लाखों रीट्वीट होते। इससे आप संभावित रूप से गलत निष्कर्ष निकाल सकते थे कि 2008 में रीट्वीट उपयोगकर्ताओं की प्रचलित पद्धति नहीं थे, या बस किसी ने उन Olympics के बारे में Retweet नहीं किया। चूँकि रीट्वीट 2009 में first-class object बन गए, इसलिए 2008 में उनकी पहचान करने में मदद के लिए आपको ”RT @” rule clause जोड़ना होगा।
रीट्वीट और पोस्ट language classification, दोनों ही पोस्ट attributes के उदाहरण हैं जिनका लंबा इतिहास है और जिनसे जुड़ी कई product details हैं। नीचे हम इनके साथ-साथ अन्य attribute classes के बारे में भी अधिक विस्तार से चर्चा करेंगे, जो X Data का मिलान करने और उसे समझने के लिए महत्वपूर्ण हैं।
गलत नेगेटिव की पहचान
has:videos Operator के साथ एक rule बनाते हैं, जो native वीडियो वाले पोस्ट्स पर match करता है, तो वह clause 2015 से पहले के किसी भी पोस्ट्स पर match नहीं करेगा।
हालाँकि, X पर वीडियो साझा करना 2015 से बहुत पहले से आम था। उससे पहले, उपयोगकर्ता कहीं और host किए गए वीडियो के links साझा करते थे, लेकिन 2015 में X ने वीडियो शेयरिंग की नई सुविधाएँ सीधे platform में जोड़ दीं। अपनी रुचि के इन पुराने पोस्ट्स को खोजने के लिए, आप url:”youtube.com” जैसा कोई rule clause शामिल कर सकते हैं।
ध्यान दें, Search APIs में metadata के ‘backfilled’ होने के कुछ उदाहरण हैं, जब उसका index फिर से बनाया गया। इसका एक अच्छा उदाहरण cashtag operator शुरू होने के बाद Search index फिर से बनाया गया, और इस प्रक्रिया में 2006 की शुरुआती Post bodies सहित सभी Post bodies से symbol entity निकाली गई, जबकि उस समय $ का उपयोग मुख्य रूप से slang के लिए होता था; “I hope it $oon!”.
आपके उपयोग-प्रकरण के लिए महत्वपूर्ण पोस्ट विशेषताओं की पहचान करना और उन पर फ़िल्टर करना
X प्रोफ़ाइलें
मूल पोस्ट और रीट्वीट
is:retweet Operator उपयोगकर्ताओं को रीट्वीट शामिल करने या बाहर रखने, दोनों की सुविधा देता है। अगर अगस्त 2009 से पहले का डेटा निकाला जा रहा है, तो उपयोगकर्ताओं को रीट्वीट मिलान (या गैर-मिलान) के लिए दो रणनीतियाँ अपनानी होंगी। अगस्त 2009 से पहले की अवधि के लिए, “@RT ” पैटर्न से मेल खाने की जाँच हेतु, पोस्ट संदेश की exact phrase matching के साथ जाँच करनी होती है। अगस्त 2009 के बाद की अवधि के लिए, is:retweet Operator उपलब्ध है।
पोस्ट भाषा वर्गीकरण
lang: Operator पूरे पोस्ट archive के लिए उपलब्ध है। Historical PowerTrack में, X का भाषा वर्गीकरण मेटाडेटा archive में 26 मार्च 2013 से उपलब्ध है।
पोस्ट्स का भू-संदर्भन
- किसी पोस्ट के संदेश में भौगोलिक संदर्भ
- उपयोगकर्ता द्वारा भू-टैग की गई पोस्ट्स
- उपयोगकर्ता द्वारा सेट की गई अकाउंट प्रोफ़ाइल की ‘होम’ लोकेशन