हमारी तुलना गाइड देखें:
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
डेटा फ़ॉर्मैट के अनुसार ऑब्जेक्ट की तुलना
| Native Enriched | Activity Streams |
|---|---|
| लिंक पोस्ट ऑब्जेक्ट | लिंक Activity ऑब्जेक्ट |
| लिंक User ऑब्जेक्ट | लिंक Actor ऑब्जेक्ट |
| लिंक Entities ऑब्जेक्ट | लिंक X entities ऑब्जेक्ट |
| लिंक Extended entities ऑब्जेक्ट | [लिंक]/x-api/enterprise-gnip-2.0/fundamentals/data-dictionary#x-extended-entities X extended entitites ऑब्जेक्ट |
| लिंक Geo ऑब्जेक्ट | लिंक Location ऑब्जेक्ट |
| n/a | लिंक Gnip ऑब्जेक्ट |
पार्सिंग के लिए सर्वोत्तम प्रथाएँ
- 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 डेटा डिक्शनरी
| एट्रिब्यूट | Type | विवरण |
|---|---|---|
| created_at | String | वह UTC समय जब यह पोस्ट बनाई गई थी। उदाहरण: “created_at”: “Wed Oct 10 20:19:24 +0000 2018” |
| id | Int64 | इस पोस्ट के अद्वितीय पहचानकर्ता का पूर्णांक रूप। यह संख्या 53 बिट से बड़ी है, और कुछ प्रोग्रामिंग भाषाओं में इसकी व्याख्या करने में कठिनाई हो सकती है या वे बिना बताए त्रुटिपूर्ण परिणाम दे सकती हैं। इस पहचानकर्ता को संग्रहीत करने के लिए signed 64-bit integer का उपयोग सुरक्षित है। सुरक्षित रहने के लिए पहचानकर्ता प्राप्त करने हेतु id_str का उपयोग करें। अधिक जानकारी के लिए X IDs देखें। उदाहरण:“id”:1050118621198921728 |
| id_str | String | इस पोस्ट के विशिष्ट पहचानकर्ता का स्ट्रिंग निरूपण. कार्यान्वयनों को id में दिए गए बड़े पूर्णांक के बजाय इसका उपयोग करना चाहिए. उदाहरण:“id_str”:“1050118621198921728” |
| text | String | स्टेटस अपडेट का वास्तविक UTF-8 टेक्स्ट। वर्तमान में कौन-से वर्ण मान्य माने जाते हैं, इसके विवरण के लिए X-text देखें। उदाहरण: “text”:“अभिव्यक्ति के लिए अधिक जगह बनाने हेतु, अब हम सभी emojis को समान रूप से गिनेंगे—उन emojis को भी जिनमें gender और skin t… https://t.co/MkGjXf9aXm” |
| source | String | पोस्ट करने के लिए उपयोग की गई यूटिलिटी, HTML-स्वरूपित स्ट्रिंग के रूप में। X वेबसाइट से किए गए पोस्ट्स का source मान web होता है।उदाहरण: “source”:“X Web Client” |
| truncated | बूलियन | यह दर्शाता है कि text पैरामीटर का मान काटा गया था या नहीं, उदाहरण के लिए, जब कोई रीट्वीट मूल पोस्ट की 140 वर्णों की टेक्स्ट-लंबाई सीमा से अधिक हो जाता है। काटा गया टेक्स्ट इलिप्सिस के साथ समाप्त होगा, इस तरह ...। चूँकि X अब लंबे पोस्ट्स को काटने के बजाय अस्वीकार करता है, इसलिए अधिकांश पोस्ट्स में यह false पर सेट होगा। ध्यान दें कि यद्यपि नेटिव रीट्वीट्स की शीर्ष-स्तरीय text प्रॉपर्टी छोटी की जा सकती है, मूल टेक्स्ट retweeted_status ऑब्जेक्ट के अंतर्गत उपलब्ध होगा और truncated पैरामीटर मूल स्टेटस के मान पर सेट होगा (ज़्यादातर मामलों में, false)। उदाहरण:“truncated”:true |
| in_reply_to_status_id | Int64 | Nullable. यदि दर्शाई गई पोस्ट एक जवाब है, तो इस फ़ील्ड में मूल पोस्ट की id का पूर्णांक रूप होगा। उदाहरण: “in_reply_to_status_id”:1051222721923756032 |
| in_reply_to_status_id_str | String | नल हो सकता है। यदि निरूपित पोस्ट एक जवाब है, तो इस फ़ील्ड में मूल पोस्ट की ID का स्ट्रिंग निरूपण होगा। उदाहरण: “in_reply_to_status_id_str”:“1051222721923756032” |
| in_reply_to_user_id | Int64 | Nullable. यदि दर्शाई गई पोस्ट एक उत्तर है, तो इस फ़ील्ड में मूल पोस्ट के लेखक की ID का पूर्णांक रूप होगा। यह ज़रूरी नहीं कि यह हमेशा पोस्ट में सीधे उल्लेखित उपयोगकर्ता ही हो। उदाहरण: “in_reply_to_user_id”:6253282 |
| in_reply_to_user_id_str | String | रिक्त हो सकता है. यदि दर्शाई गई पोस्ट एक जवाब है, तो इस फ़ील्ड में मूल पोस्ट के लेखक की ID का स्ट्रिंग रूप होगा। यह ज़रूरी नहीं है कि यह हमेशा वही उपयोगकर्ता हो जिसका पोस्ट में सीधे उल्लेख किया गया है। उदाहरण: “in_reply_to_user_id_str”:“6253282” |
| in_reply_to_screen_name | String | नल हो सकता है. यदि प्रदर्शित पोस्ट एक उत्तर है, तो इस फ़ील्ड में मूल पोस्ट के लेखक का स्क्रीन नाम होगा। उदाहरण: “in_reply_to_screen_name”:“xapi” |
| user | यूज़र ऑब्जेक्ट | यह पोस्ट करने वाला उपयोगकर्ता। विशेषताओं की पूरी सूची के लिए User data dictionary देखें। चयनित विशेषताओं को दर्शाने वाला उदाहरण: { “user”: <br/> “id”: 6253282, “id_str”: “6253282”, “name”: “X API”, “screen_name”: “API”, “location”: “San Francisco, CA”, “url”: “https://developer.x.com”, “description”: “The Real X API. Tweets about API changes, service issues and our Developer Platform. Don’t get an answer? It’s on my website.”, “verified”: true, “followers_count”: 6129794, “friends_count”: 12, “listed_count”: 12899, “favourites_count”: 31, “statuses_count”: 3658, “created_at”: “Wed May 23 06:01:13 +0000 2007”, “utc_offset”: null, “time_zone”: null, “geo_enabled”: false, “lang”: “en”, “contributors_enabled”: false, “is_translator”: false, “profile_background_color”: “null”, “profile_background_image_url”: “null”, “profile_background_image_url_https”: “null”, “profile_background_tile”: null, “profile_link_color”: “null”, “profile_sidebar_border_color”: “null”, “profile_sidebar_fill_color”: “null”, “profile_text_color”: “null”, “profile_use_background_image”: null, “profile_image_url”: “null”, “profile_image_url_https”: “https://pbs.twimg.com/profile_images/942858479592554497/BbazLO9L_normal.jpg”, “profile_banner_url”: “https://pbs.twimg.com/profile_banners/6253282/1497491515”, “default_profile”: false, “default_profile_image”: false, “following”: null, “follow_request_sent”: null, “notifications”: null } } |
| निर्देशांक | निर्देशांक | रिक्त हो सकता है। यह इस पोस्ट की भौगोलिक स्थिति को दर्शाता है, जैसा कि उपयोगकर्ता या क्लाइंट ऐप्लिकेशन द्वारा रिपोर्ट किया गया है। भीतरी coordinates array को geoJSON के रूप में फ़ॉर्मैट किया जाता है (पहले देशांतर, फिर अक्षांश)। उदाहरण: “coordinates”: <br/> “coordinates”: [ -75.14310264, 40.05701649 ], “type”:“Point” } |
| place | स्थान | रिक्त हो सकता है यदि मौजूद हो, तो यह इंगित करता है कि पोस्ट किसी Place से संबद्ध है (हालाँकि यह आवश्यक नहीं कि उसकी उत्पत्ति उसी से हुई हो) उदाहरण: “place”: <br/> “attributes”:, “bounding_box”: <br/> “coordinates”: [[ [-77.119759,38.791645], [-76.909393,38.791645], [-76.909393,38.995548], [-77.119759,38.995548] ]], “type”:“Polygon” }, “country”:“United States”, “country_code”:“US”, “full_name”:“Washington, DC”, “id”:“01fbe706f872cb32”, “name”:“Washington”, “place_type”:“city”, “url”:“http://api.x.com/1/geo/id/0172cb32.json” } |
| quoted_status_id | Int64 | यह फ़ील्ड केवल तब दिखाई देती है जब पोस्ट एक quote Tweet हो। इस फ़ील्ड में उद्धृत Tweet की पोस्ट ID का पूर्णांक मान होता है। उदाहरण: “quoted_status_id”:1050119905717055488 |
| quoted_status_id_str | String | यह फ़ील्ड केवल तभी दिखाई देता है, जब पोस्ट एक quote Tweet हो। यह quoted Tweet की पोस्ट ID का स्ट्रिंग निरूपण है। उदाहरण: “quoted_status_id_str”:“1050119905717055488” |
| is_quote_status | Boolean | यह दर्शाता है कि क्या यह एक उद्धृत Tweet है। उदाहरण: “is_quote_status”:false |
| quoted_status | पोस्ट | यह फ़ील्ड केवल तब दिखाई देती है, जब पोस्ट एक quote Tweet हो। इस विशेषता में उस मूल पोस्ट का पोस्ट ऑब्जेक्ट शामिल होता है, जिसे quote किया गया था। |
| retweeted_status | पोस्ट | उपयोगकर्ता अन्य उपयोगकर्ताओं द्वारा लिखी गई पोस्ट्स को रीट्वीट करके उनका प्रसार बढ़ा सकते हैं। रीट्वीट को सामान्य पोस्ट्स से retweeted_status एट्रिब्यूट की मौजूदगी के आधार पर अलग पहचाना जा सकता है। इस एट्रिब्यूट में उस मूल पोस्ट का प्रतिरूप होता है जिसे रीट्वीट किया गया था। ध्यान दें कि रीट्वीट के रीट्वीट में बीच वाले रीट्वीट का प्रतिरूप नहीं दिखता, बल्कि केवल मूल पोस्ट ही दिखती है। (उपयोगकर्ता अपने बनाए गए रीट्वीट को हटाकर उसे अनरीट्वीट भी कर सकते हैं।) |
| quote_count | पूर्णांक | Nullable. यह दर्शाता है कि इस पोस्ट को X उपयोगकर्ताओं ने लगभग कितनी बार उद्धृत किया है। उदाहरण: “quote_count”:33 नोट: यह ऑब्जेक्ट केवल Premium और Enterprise टियर उत्पादों में उपलब्ध है। |
| reply_count | Int | इस पोस्ट पर दिए गए जवाबों की संख्या। उदाहरण: “reply_count”:30 नोट: यह ऑब्जेक्ट केवल Premium और Enterprise टियर प्रोडक्ट्स के साथ उपलब्ध है। |
| retweet_count | Int | इस पोस्ट को जितनी बार रीट्वीट किया गया, उसकी संख्या। उदाहरण: “retweet_count”:160 |
| favorite_count | पूर्णांक | रिक्त हो सकता है. यह दर्शाता है कि X उपयोगकर्ताओं ने इस पोस्ट को लगभग कितनी बार पसंद किया है। उदाहरण: “favorite_count”:295 |
| entities | एंटिटीज़ | वे Entities जो पोस्ट के टेक्स्ट से पार्स की गई हैं। इसके अलावा, X ऑब्जेक्ट्स में Entities देखें। उदाहरण: “entities”: <br/> “hashtags”:[], “urls”:[], “user_mentions”:[], “media”:[], “symbols”:[] “polls”:[] } |
| extended_entities | विस्तारित इकाइयाँ | जब पोस्ट में एक से चार नेटिव फ़ोटो, या एक वीडियो, या एक एनिमेटेड GIF शामिल हों, तो इसमें ‘media’ मेटाडेटा का एक ऐरे होता है। यह Quote Tweets में भी उपलब्ध है। अधिक जानकारी के लिए Entities in X Objects भी देखें। उदाहरण: “entities”: <br/> “media”:[] } |
| favorited | Boolean | नल हो सकता है. यह दर्शाता है कि क्या इस पोस्ट को प्रमाणित उपयोगकर्ता ने पसंद किया है। उदाहरण: “favorited”:true |
| retweeted | Boolean | यह दर्शाता है कि क्या इस पोस्ट को प्रमाणीकृत उपयोगकर्ता ने Retweet किया है। उदाहरण: “retweeted”:false |
| possibly_sensitive | Boolean | Nullable. यह फ़ील्ड इंगित करता है कि सामग्री को संवेदनशील के रूप में पहचाना जा सकता है। पोस्ट लेखक अपनी खाता प्राथमिकताओं में “आपके द्वारा पोस्ट किए जाने वाले मीडिया को ऐसी सामग्री के रूप में चिह्नित करें जो संवेदनशील हो सकती है” विकल्प चुन सकता है, ताकि इसके बाद बनाई गई हर पोस्ट पर यह फ़्लैग सेट हो जाए। इसका आकलन और लेबलिंग X के किसी आंतरिक सहायता एजेंट द्वारा भी की जा सकती है। “possibly_sensitive”:false |
| filter_level | String | उस filter_level पैरामीटर के अधिकतम मान को दर्शाता है जिसका उपयोग करके भी इस पोस्ट को स्ट्रीम किया जा सकता है। इसलिए medium मान वाली पोस्ट none, low, और medium स्ट्रीम पर स्ट्रीम की जाएगी।उदाहरण: “filter_level”: “low” |
| lang | स्ट्रिंग | Nullable. यदि मौजूद हो, तो यह पोस्ट टेक्स्ट की मशीन द्वारा पहचानी गई भाषा के अनुरूप BCP 47 भाषा पहचानकर्ता दर्शाता है, या यदि कोई भाषा पहचानी न जा सके तो und। उदाहरण: “lang”: “en” |
| edit_history | ऑब्जेक्ट | किसी पोस्ट के सभी संस्करणों को दर्शाने वाले अद्वितीय पहचानकर्ता। जिन पोस्ट्स में कोई संपादन नहीं है, उनके लिए एक ID होगा। जिन पोस्ट्स का संपादन इतिहास है, उनके लिए कई ID होंगे, जो संपादन के क्रम को दर्शाते हुए आरोही क्रम में व्यवस्थित होंगे, और सबसे हाल का संस्करण ऐरे की अंतिम स्थिति में होगा। पोस्ट IDs का उपयोग किसी पोस्ट के पिछले संस्करणों को प्राप्त करने और देखने के लिए किया जा सकता है। उदाहरण: edit_history”: <br/> “initial_tweet_id”: “1283764123” “edit_tweet_ids”: [“1283764123”, “1394263866”] } |
| edit_controls | ऑब्जेक्ट | जब मौजूद हो, तो यह बताता है कि कोई पोस्ट अभी कितनी देर तक संपादित की जा सकती है और कितने संपादन शेष हैं। पोस्ट्स को केवल बनाए जाने के बाद पहले 30 मिनट तक ही संपादित किया जा सकता है और उन्हें अधिकतम पाँच बार संपादित किया जा सकता है। Post IDs का उपयोग किसी पोस्ट के पिछले संस्करणों को हाइड्रेट करने और देखने के लिए किया जा सकता है। उदाहरण: “edit_controls”: <br/> “editable_until_ms”: 123 “edits_remaining”: 3 } |
| editable | बूलियन | जब मौजूद हो, तो यह दर्शाता है कि प्रकाशित किए जाने के समय कोई पोस्ट संपादन के लिए पात्र थी या नहीं। यह फ़ील्ड गतिशील नहीं है और जब कोई पोस्ट अपनी संपादन-योग्य समय-सीमा या संपादनों की अधिकतम संख्या तक पहुँच जाती है, तो यह True से False में नहीं बदलेगी। पोस्ट की निम्नलिखित विशेषताएँ इस फ़ील्ड को false कर देंगी: * पोस्ट प्रचारित है * पोस्ट में एक poll है * पोस्ट एक non-self-thread reply है * पोस्ट एक retweet है (ध्यान दें कि Quote Tweets संपादन के लिए पात्र हैं) * पोस्ट nullcast है * Community पोस्ट * Superfollow पोस्ट * Collaborative पोस्ट |
| matching_rules | रूल ऑब्जेक्ट्स की ऐरे | filtered प्रोडक्ट्स, जैसे X Search और PowerTrack, में मौजूद होता है। यह उस नियम से संबंधित id और tag प्रदान करता है, जिससे पोस्ट का मिलान हुआ। matching rules के बारे में अधिक जानकारी के लिए यहाँ देखें। PowerTrack के साथ, एक से अधिक नियम किसी पोस्ट से मेल खा सकते हैं। उदाहरण: “matching_rules”: ” [<br/> “tag”: “xapi emojis”, “id”: 1050118621198921728, “id_str”: “1050118621198921728” }]“ |
अतिरिक्त पोस्ट एट्रिब्यूट्स
| एट्रिब्यूट | प्रकार | विवरण |
|---|---|---|
| current_user_retweet | Object | परिप्रेक्ष्यगत केवल उन methods पर दिखाई देता है जो include_my_retweet parameter का समर्थन करते हैं, जब इसे true पर सेट किया गया हो। यह इस पोस्ट के लिए उपयोगकर्ता के अपने retweet (यदि मौजूद हो) की पोस्ट ID बताता है। उदाहरण: “current_user_retweet”: <br/> “id”: 6253282, “id_str”: “6253282” } |
| scopes | Object | key-value pairs का एक सेट, जो शामिल पोस्ट की इच्छित प्रासंगिक डिलीवरी को दर्शाता है। वर्तमान में इसका उपयोग X के Promoted Products द्वारा किया जाता है। उदाहरण: “scopes”:{“followers”:false} |
| withheld_copyright | Boolean | जब यह मौजूद हो और “true” पर सेट हो, तो यह दर्शाता है कि इस सामग्री को DMCA complaint के कारण रोक दिया गया है। उदाहरण: “withheld_copyright”: true |
| withheld_in_countries | Array of String | जब यह मौजूद हो, तो यह uppercase दो-अक्षर वाले देश कोड की एक सूची दर्शाता है, जिनमें यह सामग्री रोकी गई है। X इस field के लिए निम्न non-country values का समर्थन करता है: “XX” - सामग्री सभी देशों में रोकी गई है “XY” - सामग्री DMCA अनुरोध के कारण रोकी गई है। उदाहरण: “withheld_in_countries”: [“GR”, “HK”, “MY”] |
| withheld_scope | String | जब यह मौजूद हो, तो यह दर्शाता है कि रोकी जा रही सामग्री “status” है या “user.” उदाहरण: “withheld_scope”: “status” |
अप्रचलित एट्रिब्यूट
| फ़ील्ड | Type | विवरण |
| geo | Object | अप्रचलित। Nullable. इसके बजाय coordinates फ़ील्ड का उपयोग करें। इस अप्रचलित एट्रिब्यूट में निर्देशांकों का प्रारूप [lat, long] है, जबकि अन्य सभी पोस्ट geo का प्रारूप [long, lat] है। |
Nested पोस्ट ऑब्जेक्ट्स
कोट ट्वीट्स
विस्तारित पोस्ट्स
Native Enriched User ऑब्जेक्ट
उपयोगकर्ता डेटा शब्दकोश
| एट्रिब्यूट | Type | विवरण |
|---|---|---|
| id | Int64 | इस User के अद्वितीय पहचानकर्ता का पूर्णांक रूप। यह संख्या 53 बिट्स से बड़ी है, और कुछ प्रोग्रामिंग भाषाओं में इसकी व्याख्या करने में कठिनाई हो सकती है या बिना किसी सूचना के त्रुटियाँ हो सकती हैं। इस पहचानकर्ता को संग्रहीत करने के लिए signed 64 bit integer का उपयोग सुरक्षित है। सुरक्षित रहने के लिए, पहचानकर्ता प्राप्त करने हेतु id_str का उपयोग करें। अधिक जानकारी के लिए X IDs देखें। उदाहरण:“id”: 6253282 |
| id_str | String | इस User के लिए अद्वितीय पहचानकर्ता का स्ट्रिंग निरूपण। कार्यान्वयनों को id में मौजूद बड़े, संभवतः उपयोग के लिए अनुपयुक्त पूर्णांक के बजाय इसका उपयोग करना चाहिए। उदाहरण:“id_str”: “6253282” |
| name | String | उपयोगकर्ता का नाम, जैसा कि उसने स्वयं निर्धारित किया है। यह ज़रूरी नहीं है कि यह किसी व्यक्ति का नाम ही हो। आमतौर पर यह 50 वर्णों तक सीमित होता है, लेकिन इसमें बदलाव हो सकता है। उदाहरण: “name”: “API” |
| screen_name | String | वह स्क्रीन नाम, हैंडल या उपनाम जिससे यह उपयोगकर्ता अपनी पहचान करता है। screen_names अद्वितीय होते हैं, लेकिन समय के साथ बदल सकते हैं। जहाँ भी संभव हो, उपयोगकर्ता पहचानकर्ता के रूप में id_str का उपयोग करें। आम तौर पर इसकी अधिकतम लंबाई 15 वर्ण होती है, लेकिन कुछ पुराने खातों में इससे लंबे नाम भी हो सकते हैं। उदाहरण:“screen_name”: “api” |
| location | String | रिक्त हो सकता है . इस खाते की प्रोफ़ाइल के लिए उपयोगकर्ता द्वारा निर्धारित स्थान. यह ज़रूरी नहीं कि यह वास्तव में कोई स्थान हो, न ही इसे मशीन द्वारा पार्स किया जा सकता है. Search सेवा कभी-कभी इस फ़ील्ड की अनुमानित व्याख्या करती है. उदाहरण: “location”: “San Francisco, CA” |
| derived | Enrichment ऑब्जेक्ट्स के ऐरे | केवल Enterprise APIs के लिए उपयोगकर्ता के लिए निकाले गए Enrichment मेटाडेटा का संग्रह। यह Profile Geo Enrichment मेटाडेटा प्रदान करता है। JSON डेटा डिक्शनरी सहित अधिक जानकारी के लिए संबंधित दस्तावेज़ देखें। उदाहरण: “derived”:“locations”: [“country”:“United States”,“country_code”:“US”,“locality”:“Denver”] |
| url | String | रिक्त हो सकता है . उपयोगकर्ता द्वारा अपनी प्रोफ़ाइल से संबद्ध किया गया URL। उदाहरण: “url”: “https://developer.x.com” |
| description | String | रिक्त हो सकता है . उपयोगकर्ता द्वारा परिभाषित UTF-8 स्ट्रिंग, जो उनके खाते का वर्णन करती है। उदाहरण: “description”: “The Real X API.” |
| protected | Boolean | जब true होता है, तो यह दर्शाता है कि इस उपयोगकर्ता ने अपनी पोस्ट्स को सुरक्षित रखने का विकल्प चुना है। सार्वजनिक और सुरक्षित पोस्ट्स के बारे में देखें। उदाहरण: “protected”: true |
| verified | Boolean | जब true हो, तो यह दर्शाता है कि उपयोगकर्ता का खाता सत्यापित है। Verified Accounts देखें। उदाहरण: “verified”: false |
| followers_count | Int | इस खाते के वर्तमान फ़ॉलोअर्स की संख्या। कुछ विशेष दबावपूर्ण परिस्थितियों में, यह फ़ील्ड अस्थायी रूप से “0” दिखाएगा। उदाहरण: “followers_count”: 21 |
| friends_count | Int | यह खाता जिन उपयोगकर्ताओं को फ़ॉलो कर रहा है, उनकी संख्या (यानी उनकी “followings”). कुछ विशेष प्रतिकूल परिस्थितियों में, यह फ़ील्ड अस्थायी रूप से “0” दिखाएगा। उदाहरण: “friends_count”: 32 |
| listed_count | Int | इस उपयोगकर्ता की सदस्यता वाली सार्वजनिक सूचियों की संख्या। उदाहरण: “listed_count”: 9274 |
| favourites_count | Int | इस उपयोगकर्ता ने खाते के पूरे समयकाल में जितनी पोस्ट्स को पसंद किया है, उनकी संख्या। ऐतिहासिक कारणों से फ़ील्ड नाम में ब्रिटिश वर्तनी का उपयोग किया गया है। उदाहरण: “favourites_count”: 13 |
| statuses_count | Int | उपयोगकर्ता द्वारा किए गए पोस्ट्स (रीट्वीट सहित) की संख्या। उदाहरण: “statuses_count”: 42 |
| created_at | String | X पर उपयोगकर्ता खाता बनाए जाने का UTC दिनांक-समय। उदाहरण: “created_at”: “Mon Nov 29 21:18:15 +0000 2010” |
| profile_banner_url | String | उपयोगकर्ता द्वारा अपलोड किए गए प्रोफ़ाइल बैनर के मानक वेब रूप को इंगित करने वाला HTTPS-आधारित URL। URL में अंतिम पाथ एलिमेंट जोड़कर, खास डिस्प्ले के लिए अनुकूलित अलग-अलग इमेज आकार प्राप्त किए जा सकते हैं। आकार के विभिन्न रूपों के लिए, कृपया User Profile Images and Banners देखें। उदाहरण: “profile_banner_url”: “https://si0.twimg.com/profile_banners/819797/1348102824” |
| profile_image_url_https | String | उपयोगकर्ता की प्रोफ़ाइल छवि की ओर इंगित करने वाला HTTPS-आधारित URL. उदाहरण: “profile_image_url_https”: “https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png” |
| default_profile | बूलियन | जब true हो, तो यह दर्शाता है कि उपयोगकर्ता ने अपनी प्रोफ़ाइल की थीम या पृष्ठभूमि में कोई बदलाव नहीं किया है। उदाहरण: “default_profile”: false |
| default_profile_image | बूलियन | जब true हो, तो यह दर्शाता है कि उपयोगकर्ता ने अपनी प्रोफ़ाइल छवि स्वयं अपलोड नहीं की है और इसके बजाय डिफ़ॉल्ट छवि का उपयोग किया जाता है। उदाहरण: “default_profile_image”: false |
अब समर्थित नहीं (deprecated) एट्रिब्यूट
| फ़ील्ड | type | विवरण |
|---|---|---|
| utc_offset | null | मान null पर सेट होगा। यह अभी भी GET account/settings के माध्यम से उपलब्ध है |
| time_zone | null | मान null पर सेट होगा। यह अभी भी GET account/settings के माध्यम से tzinfo_name के रूप में उपलब्ध है |
| lang | null | मान null पर सेट होगा। यह अभी भी GET account/settings के माध्यम से language के रूप में उपलब्ध है |
| geo_enabled | null | मान null पर सेट होगा। यह अभी भी GET account/settings के माध्यम से उपलब्ध है। POST statuses / update का उपयोग करते समय भौगोलिक डेटा संलग्न करने के लिए वर्तमान उपयोगकर्ता हेतु इस फ़ील्ड का true होना आवश्यक है |
| following | null | मान null पर सेट होगा। यह अभी भी GET friendships/lookup के माध्यम से उपलब्ध है |
| follow_request_sent | null | मान null पर सेट होगा। यह अभी भी GET friendships/lookup के माध्यम से उपलब्ध है |
| has_extended_profile | null | Deprecated. मान null पर सेट होगा। |
| notifications | null | Deprecated. मान null पर सेट होगा। |
| profile_location | null | Deprecated. मान null पर सेट होगा। |
| contributors_enabled | null | Deprecated. मान null पर सेट होगा। |
| profile_image_url | null | Deprecated. मान null पर सेट होगा। ध्यान दें: प्रोफ़ाइल इमेज केवल profile_image_url_https फ़ील्ड के ज़रिए उपलब्ध हैं। |
| profile_background_color | null | Deprecated. मान null पर सेट होगा। |
| profile_background_image_url | null | Deprecated. मान null पर सेट होगा। |
| profile_background_image_url_https | null | Deprecated. मान null पर सेट होगा। |
| profile_background_tile | null | Deprecated. मान null पर सेट होगा। |
| profile_link_color | null | Deprecated. मान null पर सेट होगा। |
| profile_sidebar_border_color | null | Deprecated. मान null पर सेट होगा। |
| profile_sidebar_fill_color | null | Deprecated. मान null पर सेट होगा। |
| profile_text_color | null | Deprecated. मान null पर सेट होगा। |
| profile_use_background_image | null | Deprecated. मान null पर सेट होगा। |
| is_translator | null | Deprecated. मान null पर सेट होगा। |
| is_translation_enabled | null | Deprecated. मान null पर सेट होगा। |
| translator_type | null | Deprecated. मान null पर सेट होगा। |
उदाहरण उपयोगकर्ता ऑब्जेक्ट:
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 डेटा शब्दकोश
| फ़ील्ड | Type | विवरण |
|---|---|---|
| id | String | इस स्थान का प्रतिनिधित्व करने वाला ID। ध्यान दें कि इसे integer के बजाय string के रूप में दर्शाया जाता है। उदाहरण: “id”:“01a9a39529b27f36” |
| url | String | इस स्थान के लिए अतिरिक्त place metadata के स्थान का प्रतिनिधित्व करने वाला URL। उदाहरण: “url”:“https://api.x.com/1.1/geo/id/01a9a39529b27f36.json” |
| place_type | String | इस place द्वारा दर्शाए गए location का type। उदाहरण: “place_type”:“city” |
| name | String | स्थान के नाम का संक्षिप्त, मानव-पठनीय रूप। उदाहरण: “name”:“Manhattan” |
| full_name | String | स्थान के नाम का पूर्ण, मानव-पठनीय रूप। उदाहरण: “full_name”:“Manhattan, NY” |
| country_code | String | इस स्थान को शामिल करने वाले देश का संक्षिप्त country code। उदाहरण: “country_code”:“US” |
| country | String | इस स्थान को शामिल करने वाले देश का नाम। उदाहरण: “country”:“United States” |
| bounding_box | Object | निर्देशांकों का एक bounding box, जो इस स्थान को घेरता है। उदाहरण: “bounding_box”: “coordinates”: [ [ [ -74.026675, 40.683935 ], [ -74.026675, 40.877483 ], [ -73.910408, 40.877483 ], [ -73.910408, 40.3935 ] ] ], “type”: “Polygon” |
| attributes | Object | PowerTrack, 30-Day और Full-Archive Search APIs, तथा Volume Streams का उपयोग करते समय यह hash null होता है। उदाहरण: “attributes”: |
| फ़ील्ड | Type | विवरण |
| coordinates | Array of Array of Array of Float | देशांतर और अक्षांश बिंदुओं की एक श्रृंखला, जो ऐसे बॉक्स को परिभाषित करती है जिसमें वह Place इकाई शामिल होती है, जिससे यह bounding box संबंधित है। प्रत्येक बिंदु [longitude, latitude] के रूप में एक array होता है। बिंदुओं को प्रत्येक bounding box के लिए एक array में समूहित किया जाता है। polygon notation के साथ संगतता बनाए रखने के लिए bounding box arrays को एक अतिरिक्त array में रखा जाता है। उदाहरण: “coordinates”: [ [ [ -74.026675, 40.683935 ], [ -74.026675, 40.877483 ], [ -73.910408, 40.877483 ], [ -73.910408, 40.3935 ] ] ] |
| type | String | coordinates प्रॉपर्टी में एन्कोड किए गए डेटा का type। bounding boxes के लिए यह “Polygon” होगा और सटीक coordinates वाले पोस्ट्स के लिए “Point” होगा। उदाहरण: “type”:“Polygon” |
Geo ऑब्जेक्ट डेटा शब्दकोश
| फ़ील्ड | Type | विवरण |
| coordinates | Float का संग्रह | पोस्ट के स्थान का देशांतर और अक्षांश, [latitude, longitude] के रूप में एक संग्रह के तौर पर। उदाहरण: ** “geo”: “type”:** “Point”, ** “coordinates”: [ 54.27784, -0.41068 ] ** |
| type | String | coordinates प्रॉपर्टी में एन्कोड किए गए डेटा का type। पोस्ट के coordinates फ़ील्ड्स के लिए यह “Point” होगा। उदाहरण:“type”: “Point” |
| फ़ील्ड | Type | विवरण |
| coordinates | Float का संग्रह | पोस्ट के स्थान का देशांतर और अक्षांश, [longitude, latitude] के रूप में एक संग्रह के तौर पर। उदाहरण: ** “coordinates”: “type”:** “Point”, ** “coordinates”: [ -0.41068, 54.27784 ] ** |
| type | String | coordinates प्रॉपर्टी में एन्कोड किए गए डेटा का type। पोस्ट के coordinates फ़ील्ड्स के लिए यह “Point” होगा। उदाहरण:“type”: “Point” |
व्युत्पन्न लोकेशन
| फ़ील्ड | type | विवरण |
| derived | locations ऑब्जेक्ट | प्रोफ़ाइल geo enrichment से प्राप्त लोकेशन “derived”: “locations”: [ ** “country”:** “यूनाइटेड किंगडम”, “country_code”: “GB”, “locality”: “यॉर्कशायर”, “region”: “इंग्लैंड”, “full_name”: “यॉर्कशायर, इंग्लैंड, यूनाइटेड किंगडम”, ** “geo”: “coordinates”: [ -1.5, 54 ], “type”:** “point” ** ] ** |
उदाहरण:
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 को समझाने के बाद, उन्हें प्रदान किया जाएगा।
| फ़ील्ड | type | विवरण |
|---|---|---|
| hashtags | Hashtag Objects का ऐरे | पोस्ट के टेक्स्ट से निकाले गए हैशटैग को दर्शाता है। उदाहरण: “hashtags”: [ “indices”: [ 32, 38 ], “text”: “nodejs” ] |
| media | मीडिया ऑब्जेक्ट्स का ऐरे | पोस्ट के साथ अपलोड किए गए मीडिया तत्वों का प्रतिनिधित्व करता है। उदाहरण: “media”: [ “display_url”: “pic.x.com/5J1WJSRCy9”, “expanded_url”: “https://x.com/nolan_test/status/930077847535812610/photo/1”, “id”: 9.300778475358126e17, “id_str”: “930077847535812610”, “indices”: [ 13, 36 ], “media_url”: “http://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg”, “media_url_https”: “https://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg” “sizes”: “thumb”: “h”: 150, “resize”: “crop”, “w”: 150 , “large”: “h”: 1366, “resize”: “fit”, “w”: 2048 , “medium”: “h”: 800, “resize”: “fit”, “w”: 1200 , “small”: “h”: 454, “resize”: “fit”, “w”: 680 , “type”: “photo”, “url”: “https://t.co/5J1WJSRCy9”, ] |
| urls | URL ऑब्जेक्ट्स की सरणी | पोस्ट के टेक्स्ट में शामिल URLs को दर्शाता है। उदाहरण (Enhanced URLs enrichment सक्षम किए बिना): “urls”: [ “indices”: [ 32, 52 ], “url”: “http://t.co/IOwBrTZR”, “display_url”: “youtube.com/watch?v=oHg5SJ…”, “expanded_url”: “http://www.youtube.com/watch?v=oHg5SJYRHA0” ] उदाहरण (Enhanced URLs enrichment सक्षम होने पर): “urls”: [ “url”: “https://t.co/D0n7a53c2l”, “expanded_url”: “http://bit.ly/18gECvy”, “display_url”: “bit.ly/18gECvy”, “unwound”: “url”: “https://www.youtube.com/watch?v=oHg5SJYRHA0”, “status”: 200, “title”: “RickRoll’D”, “description”: “http://www.facebook.com/rickroll548 As long as trolls are still trolling, the Rick will never stop rolling.” , “indices”: [ 62, 85 ] ] |
| user_mentions | User Mention Objects की सरणी | पोस्ट के टेक्स्ट में उल्लेखित अन्य X उपयोगकर्ताओं को दर्शाता है। उदाहरण: “user_mentions”: [ “name”: “X API”, “indices”: [ 4, 15 ], “screen_name”: “xapi”, “id”: 6253282, “id_str”: “6253282” ] |
| symbols | Symbol Objects की ऐरे | पोस्ट के टेक्स्ट में शामिल प्रतीकों, यानी $cashtags, को दर्शाता है। उदाहरण: “symbols”: [ “indices”: [ 12, 17 ], “text”: “twtr” ] |
| polls | Poll Objects का ऐरे | पोस्ट में शामिल X पोल को दर्शाता है। उदाहरण: “polls”: [ “options”: [ “position”: 1, “text”: “मैंने डॉक्यूमेंटेशन एक बार पढ़ा है।” , “position”: 2, “text”: “मैंने डॉक्यूमेंटेशन दो बार पढ़ा है।” }, “position”: 3, “text”: “मैंने डॉक्यूमेंटेशन बार-बार पढ़ा है।” } ], “end_datetime”: “Thu May 25 22:20:27 +0000 2017”, “duration_minutes”: 60 ] |
हैशटैग ऑब्जेक्ट
entities सेक्शन में एक hashtags array होता है, जिसमें पोस्ट बॉडी में शामिल हर हैशटैग के लिए एक ऑब्जेक्ट होता है। अगर कोई हैशटैग मौजूद नहीं है, तो इसमें एक खाली array शामिल होता है।
PowerTrack # Operator का उपयोग text attribute पर match करने के लिए किया जाता है। has:hashtags Operator तब match करेगा, जब array में कम से कम एक item मौजूद हो।
| फ़ील्ड | Type | विवरण |
| indices | Array of Int | पूर्णांकों का एक array, जो पोस्ट text के भीतर उन offsets को दर्शाता है जहाँ हैशटैग शुरू और समाप्त होता है। पहला पूर्णांक पोस्ट text string में # character का स्थान दर्शाता है। दूसरा पूर्णांक हैशटैग के बाद आने वाले पहले character का स्थान दर्शाता है। इसलिए, इन दोनों संख्याओं के बीच का अंतर हैशटैग नाम की लंबाई से एक अधिक होगा (# character के लिए)। उदाहरण:“indices”:[32,38] |
| text | String | हैशटैग का नाम, शुरू का # character हटाकर। उदाहरण:“text”:“nodejs” |
मीडिया ऑब्जेक्ट
entities सेक्शन में एक media array होगा, जिसमें एक ही मीडिया ऑब्जेक्ट शामिल होगा। यदि कोई नेटिव मीडिया संलग्न नहीं किया गया है, तो entities में media array नहीं होगा। निम्न कारणों से पोस्ट के नेटिव मीडिया को प्रोसेस करने के लिए extended_entities सेक्शन का उपयोग किया जाना चाहिए:
- मीडिया
typeहमेशा ‘photo’ दिखाएगा, यहाँ तक कि उन मामलों में भी जहाँ पोस्ट के साथ वीडियो या GIF संलग्न हो। - हालांकि अधिकतम चार फ़ोटो संलग्न की जा सकती हैं,
entitiesसेक्शन में केवल पहली ही सूचीबद्ध होगी।
has:media Operator मैच करेगा।
| फ़ील्ड | Type | विवरण |
| display_url | String | क्लाइंट्स को प्रदर्शित करने के लिए मीडिया का URL. उदाहरण: “display_url”:“pic.x.com/rJC5Pxsu” |
| expanded_url | String | display_url का विस्तृत रूप। यह मीडिया प्रदर्शन पृष्ठ से लिंक करता है। उदाहरण: “expanded_url”: “http://x.com/yunorno/status/114080493036773378/photo/1” |
| id | Int64 | मीडिया की id, जिसे 64-बिट पूर्णांक के रूप में व्यक्त किया गया है। उदाहरण: “id”:114080493040967680 |
| id_str | String | मीडिया की ID, जो स्ट्रिंग के रूप में दी गई है। उदाहरण: “id_str”:“114080493040967680” |
| indices | Int की सरणी | पूर्णांकों की एक सरणी, जो पोस्ट टेक्स्ट के भीतर उन ऑफ़सेट को दर्शाती है जहाँ URL शुरू होता है और समाप्त होता है। पहला पूर्णांक पोस्ट टेक्स्ट में URL के पहले वर्ण की स्थिति को दर्शाता है। दूसरा पूर्णांक URL के बाद आने वाले पहले गैर-URL वर्ण की स्थिति को दर्शाता है (या, यदि URL पोस्ट टेक्स्ट का अंतिम भाग है, तो स्ट्रिंग के अंत को)। उदाहरण: “indices”:[15,35] |
| media_url | स्ट्रिंग | अपलोड की गई मीडिया फ़ाइल की ओर सीधे इंगित करने वाला एक http:// URL। उदाहरण: “media_url”:“http://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg” डायरेक्ट मैसेज में मौजूद मीडिया के लिए, media_url, media_url_https के समान https URL होता है और इसे उपयोगकर्ता के access token के साथ OAuth 1.0A का उपयोग करके अनुरोध पर हस्ताक्षर कर एक्सेस किया जाना चाहिए।प्रमाणीकृत x.com सत्र के माध्यम से इमेज तक पहुँचना संभव नहीं है। इन हालिया परिवर्तनों को कैसे संभालें, यह जानने के लिए कृपया इस पेज पर जाएँ। आप इन इमेज को किसी वेब पेज में सीधे एम्बेड नहीं कर सकते। उपलब्ध sizes के आधार पर media_url_https जैसे फ़ोटो के URL को कैसे फ़ॉर्मैट करना है, इसके लिए Photo Media URL formatting देखें। |
| media_url_https | String | अपलोड की गई मीडिया फ़ाइल की ओर सीधे संकेत करने वाला एक https:// URL, जिसे https पेजों पर एम्बेड करने के लिए उपयोग किया जाता है। उदाहरण: “media_url_https”:“https://p.twimg.com/AZVLmp-CIAAbkyy.jpg” डायरेक्ट मैसेज में मौजूद मीडिया के लिए, media_url_https तक पहुँचने हेतु उपयोगकर्ता के access token का उपयोग करके OAuth 1.0A के साथ अनुरोध पर हस्ताक्षर करना आवश्यक है।प्रमाणीकृत x.com सत्र के माध्यम से इमेज तक पहुँचना संभव नहीं है। इन हालिया बदलावों को ध्यान में रखने का तरीका जानने के लिए कृपया इस पेज पर जाएँ। आप इन इमेज को सीधे किसी वेब पेज में एम्बेड नहीं कर सकते। उपलब्ध sizes के आधार पर media_url_https जैसे किसी फ़ोटो के URL को कैसे फ़ॉर्मैट करना है, यह जानने के लिए Photo Media URL formatting देखें। |
| आकार | साइज़ ऑब्जेक्ट | मीडिया फ़ाइल के लिए उपलब्ध आकार दिखाने वाला एक ऑब्जेक्ट। उदाहरण: “sizes”: “thumb”: “h”: 150, “resize”: “crop”, “w”: 150 }, “large”: “h”: 1366, “resize”: “fit”, “w”: 2048 }, “medium”: “h”: 800, “resize”: “fit”, “w”: 1200 }, “small”: “h”: 454, “resize”: “fit”, “w”: 680 } } } उपलब्ध sizes के आधार पर किसी फ़ोटो का URL, जैसे media_url_https, कैसे फ़ॉर्मैट करें, यह जानने के लिए Photo Media URL formatting देखें। |
| source_status_id | Int64 | रिक्त हो सकता है। जिन पोस्ट्स में ऐसा मीडिया शामिल है जो मूल रूप से किसी अन्य पोस्ट से संबद्ध था, उनके लिए यह ID मूल पोस्ट की ओर संकेत करती है। उदाहरण: “source_status_id”: 205282515685081088 |
| source_status_id_str | Int64 | नल हो सकता है। जिन पोस्ट्स में ऐसा मीडिया शामिल है जो मूल रूप से किसी अलग पोस्ट से संबद्ध था, उनके लिए यह स्ट्रिंग-आधारित ID मूल पोस्ट की ओर संकेत करती है। उदाहरण: “source_status_id_str”: “205282515685081088” |
| type | String | अपलोड किए गए मीडिया का प्रकार। संभावित type में photo, video और animated_gif शामिल हैं। उदाहरण: “type”:“photo” |
| url | स्ट्रिंग | मीडिया लिंक के लिए रैप किया गया URL। यह कच्चे पोस्ट टेक्स्ट में सीधे एम्बेड किए गए URL और indices पैरामीटर के मानों से मेल खाता है। उदाहरण:“url”:“http://t.co/rJC5Pxsu” |
मीडिया आकार ऑब्जेक्ट्स
आकारों का ऑब्जेक्ट
| फ़ील्ड | Type | विवरण |
| thumb | आकार ऑब्जेक्ट | मीडिया के थंबनेल-आकार वाले संस्करण की जानकारी। उदाहरण: “thumb”:“h”:150, “resize”:“crop”, “w”:150} थंबनेल-आकार वाले फ़ोटो मीडिया को 150x150 की सीमा को fill करने तक सीमित किया जाएगा और उसे क्रॉप किया जाएगा। |
| large | आकार ऑब्जेक्ट | मीडिया के बड़े-आकार वाले संस्करण की जानकारी। उदाहरण: “large”:“h”:454, “resize”:“fit”, “w”:680} छोटे-आकार वाले फ़ोटो मीडिया को 680x680 की सीमा के भीतर fit करने तक सीमित किया जाएगा। |
| medium | आकार ऑब्जेक्ट | मीडिया के मध्यम-आकार वाले संस्करण की जानकारी। उदाहरण: “medium”:“h”:800, “resize”:“fit”, “w”:1200} मध्यम-आकार वाले फ़ोटो मीडिया को 1200x1200 की सीमा के भीतर fit करने तक सीमित किया जाएगा। |
| small | आकार ऑब्जेक्ट | मीडिया के छोटे-आकार वाले संस्करण की जानकारी। उदाहरण: “small”:“h”:1366, “resize”:“fit”, “w”:2048} बड़े-आकार वाले फ़ोटो media को 2048x2048 की सीमा के भीतर fit करने तक सीमित किया जाएगा। |
Size ऑब्जेक्ट
| फ़ील्ड | type | विवरण |
| w | Int | इस आकार की चौड़ाई, पिक्सेल में। उदाहरण: “w”:150 |
| h | Int | इस आकार की ऊँचाई, पिक्सेल में। उदाहरण: “h”:150 |
| resize | String | इस आकार को प्राप्त करने के लिए उपयोग की गई रीसाइज़ विधि। fit का मान दर्शाता है कि मीडिया का आकार उसके मूल आस्पेक्ट अनुपात को बनाए रखते हुए एक आयाम में फ़िट करने के लिए बदला गया है। crop का मान दर्शाता है that मीडिया को किसी विशिष्ट रिज़ॉल्यूशन में फ़िट करने के लिए क्रॉप किया गया है। उदाहरण: “resize”:“crop” |
फ़ोटो मीडिया URL फ़ॉर्मैटिंग
media_url या media_url_https को अपने-आप भी लोड किया जा सकता है, जिससे डिफ़ॉल्ट रूप से medium वैरिएंट लोड होता है। हालाँकि, जहाँ संभव हो, पूरी तरह फ़ॉर्मैट किया गया फ़ोटो मीडिया URL देना बेहतर है।
फ़ोटो मीडिया URL के तीन भाग होते हैं:
| Base URL | Base URL, file extension के बिना media URL होता है। उदाहरण के लिए: “media_url_https”: “https://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg”, तब Base URL होगा: https://pbs.twimg.com/media/DOhM30VVwAEpIHq |
| Format | Format उस फ़ोटो का type है जिसमें इमेज फ़ॉर्मैट की गई है। संभावित format jpg या png हैं, जो media URL के extension के रूप में दिए जाते हैं। उदाहरण के लिए: “media_url_https”: “https://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg”, तब format होगा: jpg |
| Name | Name, लोड किए जाने वाले size का field name है। उदाहरण के लिए: “sizes”: “thumb”: “h”: 150, “resize”: “crop”, “w”: 150 , “large”: “h”: 1366, “resize”: “fit”, “w”: 2048 }, “medium”: “h”: 800, “resize”: “fit”, “w”: 1200 }, “small”: “h”: 454, “resize”: “fit”, “w”: 680 } } } large आकार की फ़ोटो लोड करते समय name होगा: large |
| पुराना प्रारूप | पुराना प्रारूप अब अप्रचलित है। सभी फ़ोटो मीडिया लोड को आधुनिक प्रारूप में ले जाना चाहिए। <base_url>.<format>:<name> उदाहरण के लिए: https://pbs.twimg.com/media/DOhM30VVwAEpIHq.jpg:large |
| आधुनिक प्रारूप | फ़ोटो लोड करने का आधुनिक प्रारूप X में 2015 में स्थापित किया गया था और 2017 से यही वास्तविक मानक रहा है। सभी फ़ोटो मीडिया लोड को इसी प्रारूप में ले जाना चाहिए। <base_url>?format=<format>&name=<name> उदाहरण के लिए: https://pbs.twimg.com/media/DOhM30VVwAEpIHq?format=jpg&name=large नोट: फ़ोटो मीडिया URL की query string में आइटम वर्णक्रमानुसार होते हैं। अगर मीडिया लोडिंग में कोई अतिरिक्त query आइटम जोड़ा जाए, तो भी वर्णक्रमानुसार क्रम बनाए रखना ज़रूरी होगा। उदाहरण के लिए, अगर preferred_format नाम का कोई काल्पनिक नया query आइटम हो, तो वह query string में format और name के बाद आएगा। |
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 पर मैच करने के लिए किया जाता है।
| Field | Type | Description |
| display_url | String | पोस्ट में पेस्ट/टाइप किया गया URL। उदाहरण: “display_url”:“bit.ly/2so49n2” |
| expanded_url | String | display_url का विस्तारित संस्करण। उदाहरण:“expanded_url”:“http://bit.ly/2so49n2” |
| indices | Array of Int | पूर्णांकों का एक array, जो पोस्ट टेक्स्ट के भीतर उन offsets को दर्शाता है जहाँ URL शुरू और समाप्त होता है। पहला पूर्णांक पोस्ट टेक्स्ट में URL के पहले अक्षर की स्थिति दर्शाता है। दूसरा पूर्णांक URL के अंत के बाद आने वाले पहले गैर-URL अक्षर की स्थिति दर्शाता है। उदाहरण: “indices”:[30,53] |
| url | String | Wrapped URL, जो raw पोस्ट टेक्स्ट में सीधे एम्बेड किए गए मान और indices parameter के मानों के अनुरूप होता है। उदाहरण: “url”:“https://t.co/yzocNFvJuL” |
unwound attribute के अंतर्गत उपलब्ध है:
| Field | Type | Description |
| url | String | पोस्ट में शामिल लिंक का पूरी तरह unwound संस्करण। उदाहरण: “url”:“https://blog.x.com/en_us/topics/insights/2016/using-twitter-as-a-go-to-communication-channel-during-severe-weather-events.html” |
| status | Int | unwinding प्रक्रिया का अंतिम HTTP status, जहाँ ‘200’ सफलता दर्शाता है। उदाहरण: 200 |
| title | String | लिंक का HTML title। उदाहरण: “title”:“Using X as a ‘go-to’ communication channel during severe weather” |
| description | String | लिंक का HTML description। उदाहरण: “description”:“Using X as a ‘go-to’ communication channel during severe weather” |
उपयोगकर्ता उल्लेख ऑब्जेक्ट
entities सेक्शन में एक user_mentions array होता है, जिसमें पोस्ट के मुख्य पाठ में शामिल प्रत्येक उपयोगकर्ता उल्लेख के लिए एक ऑब्जेक्ट शामिल होता है। यदि कोई उपयोगकर्ता उल्लेख मौजूद नहीं है, तो इसमें एक खाली array शामिल होता है।
PowerTrack @ Operator का उपयोग screen_name attribute पर मिलान करने के लिए किया जाता है। has:mentions Operator तब मिलान करेगा, जब array में कम-से-कम एक आइटम मौजूद हो।
| फ़ील्ड | type | विवरण |
| id | Int64 | उल्लेखित उपयोगकर्ता का ID, पूर्णांक के रूप में। उदाहरण: “id”:6253282 |
| id_str | String | उल्लेखित उपयोगकर्ता का ID, स्ट्रिंग के रूप में। उदाहरण: “id_str”:“6253282” |
| indices | Array of Int | पूर्णांकों का एक array, जो पोस्ट टेक्स्ट के भीतर उन offsets को दर्शाता है जहाँ उपयोगकर्ता संदर्भ शुरू और समाप्त होता है। पहला पूर्णांक उपयोगकर्ता उल्लेख के @ वर्ण का स्थान दर्शाता है। दूसरा पूर्णांक उपयोगकर्ता उल्लेख के बाद आने वाले पहले non-screenname वर्ण का स्थान दर्शाता है। उदाहरण:“indices”:[4,15] |
| name | String | संदर्भित उपयोगकर्ता का डिस्प्ले नाम। उदाहरण: “name”:“API” |
| screen_name | String | संदर्भित उपयोगकर्ता का स्क्रीन नाम। उदाहरण: “screen_name”:“api” |
सिंबल ऑब्जेक्ट
entities सेक्शन में symbols array होता है, जिसमें पोस्ट बॉडी में शामिल हर $cashtag के लिए एक ऑब्जेक्ट शामिल होता है। अगर कोई symbol मौजूद न हो, तो इसमें एक खाली array शामिल होगा।
PowerTrack $ Operator का उपयोग text attribute पर match करने के लिए किया जाता है। has:symbols Operator तब match करेगा, जब array में कम-से-कम एक item मौजूद हो।
| फ़ील्ड | Type | विवरण |
| indices | Array of Int | integers का एक array, जो पोस्ट text के भीतर उन offsets को दर्शाता है जहाँ symbol/cashtag शुरू और समाप्त होता है। पहला integer पोस्ट text string में $ character की स्थिति दर्शाता है। दूसरा integer cashtag के बाद आने वाले पहले character की स्थिति दर्शाता है। इसलिए इन दोनों संख्याओं के बीच का अंतर hashtag नाम की लंबाई से एक अधिक होगा ($ character के लिए)। उदाहरण:“indices”:[12,17] |
| text | String | cashhtag का नाम, शुरुआती $ character के बिना। उदाहरण:“text”:“twtr” |
पोल ऑब्जेक्ट
entities सेक्शन में polls array होगा, जिसमें एक poll ऑब्जेक्ट शामिल होगा। अगर पोल शामिल नहीं है, तो entities सेक्शन में polls array नहीं होगा।
ध्यान दें कि यह पोल मेटाडेटा केवल निम्नलिखित Enterprise APIs के साथ उपलब्ध है:
- Volume streams (Decahose )
- Real-time PowerTrack
- X Search APIs (Full-Archive Search और 30-Day Search)
| फ़ील्ड | Type | विवरण |
| options | Option Object का Array | विकल्पों का एक array, जिसमें प्रत्येक विकल्प के लिए पोल में उसकी स्थिति और उससे संबंधित टेक्स्ट होता है। उदाहरण: “options”: [ “position”: 1, “text”: “मैंने दस्तावेज़ एक बार पढ़े।” } ] } |
| end_datetime | String | पोल के समाप्त होने का समय-चिह्न (UTC)। उदाहरण: “end_datetime”: “Thu May 25 22:20:27 +0000 2017” |
| duration_minutes | String | मिनटों में पोल की अवधि। उदाहरण: “duration_minutes”: 60 |
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 ऑब्जेक्ट
डेटा शब्दकोश
| एट्रिब्यूट | type | विवरण |
| id | string | पोस्ट के लिए एक अद्वितीय IRI। अधिक विस्तार से, “tag” स्कीम है, “search.x.com” इस स्कीम के डोमेन को दर्शाता है, और 2005 वह वर्ष है जब यह स्कीम बनाई गई थी। पोस्ट्स को संग्रहीत करते समय, इसका उपयोग अद्वितीय पहचानकर्ता या प्राथमिक कुंजी के रूप में किया जाना चाहिए। “id”: “tag:search.x.com,2005:1050118621198921728” |
| objectType | string | ऑब्जेक्ट का प्रकार, जो हमेशा “activity” पर सेट होता है “objectType”: “activity” |
| ऑब्जेक्ट | ऑब्जेक्ट | पोस्ट किए जा रहे या साझा किए जा रहे पोस्ट का प्रतिनिधित्व करने वाला एक ऑब्जेक्ट। रीट्वीट्स के लिए, इसमें इस स्कीमा में वर्णित प्रासंगिक फ़ील्ड्स के साथ पूरी “activity” शामिल होगी। मूल पोस्ट्स के लिए, इसमें यहाँ वर्णित फ़ील्ड्स के साथ एक “note” ऑब्जेक्ट शामिल होगा। “object”: “object”: “objectType”: “note”, “id”: “object:search.x.com,2005:1050118621198921728”, “summary”: “अभिव्यक्ति के लिए अधिक जगह बनाने के लिए, अब हम सभी इमोजी को समान रूप से गिनेंगे—उनमें वे भी शामिल हैं जिनमें जेंडर और स्किन t… https://t.co/MkGjXf9aXm”, “link”: “http://x.com/API/statuses/1050118621198921728”, “postedTime”: “2018-10-10T20:19:24.000Z” |
| long_object | object | पोस्ट का टेक्स्ट 140 वर्णों से अधिक होने पर उसके पूर्ण टेक्स्ट को दर्शाने वाला एक ऑब्जेक्ट। “long_object”: “body”: “अभिव्यक्ति के लिए अधिक जगह बनाने के लिए, अब हम सभी इमोजी को समान रूप से गिनेंगे—उन इमोजी सहित जिनमें जेंडर और स्किन टोन मॉडिफ़ायर 👍🏻👍🏽👍🏿 हैं। यह अब हमारी ओपन सोर्स लाइब्रेरी, Twitter-Text, में भी परिलक्षित होता है। \n\nTwitter-Text का उपयोग कर रहे हैं? विवरण के लिए फ़ोरम पोस्ट देखें: https://t.co/Nx1XZmRCXA”, “display_text_range”: [ 0, 277 ], “twitter_entities”: “hashtags”: [], “urls”: [ “url”: “https://t.co/Nx1XZmRCXA”, “expanded_url”: “https://devcommunity.x.com/t/new-update-to-the-twitter-text-library-emoji-character-count/114607”, “display_url”: “devcommunity.com/t/new-update-t…”, “indices”: [ 254, 277 ] ], “user_mentions”: [], “symbols”: [] |
| display_text_range | array | यदि पोस्ट का टेक्स्ट 140 वर्णों से अधिक हो। “display_text_range”: [ 0, 142 ] |
| क्रिया | string | उपयोगकर्ता द्वारा की जा रही कार्रवाई का type। पोस्ट्स, “post” Retweets, “share” हटाए गए पोस्ट्स, “delete” किसी Tweet और वास्तविक Retweet के बीच अंतर बताने का सही तरीका verb है। हालांकि, यह केवल वास्तविक retweets पर लागू होता है, संशोधित या quote किए गए Tweets पर नहीं, क्योंकि वे X Retweet फ़ंक्शनैलिटी का उपयोग नहीं करते। AS verbs के विवरण के लिए यहाँ क्लिक करें. Deletes के लिए, ध्यान दें कि केवल सीमित फ़ील्ड्स शामिल किए जाएँगे, जैसा कि नीचे दिए गए sample payload में दिखाया गया है। “verb”: “post” |
| postedTime | तिथि (ISO 8601) | कार्रवाई होने का समय, जैसे कि पोस्ट किए जाने का समय। “postedTime”: “2018-10-10T20:19:24.000Z” |
| जनरेटर | ऑब्जेक्ट | पोस्ट करने के लिए उपयोग की गई यूटिलिटी को दर्शाने वाला एक ऑब्जेक्ट। इसमें पोस्ट जनरेट करने वाले स्रोत ऐप का नाम (“displayName”) और एक लिंक (“link”) शामिल होगा। “generator”: “displayName”: “X Web Client”, “link”: “http://x.com” |
| प्रदाता | ऑब्जेक्ट | गतिविधि के प्रदाता को निरूपित करने वाला एक JSON ऑब्जेक्ट। इसमें objectType (“service”), प्रदाता का नाम (“displayName”) और प्रदाता की वेबसाइट का लिंक (“link”) शामिल होगा। “provider”: “objectType”: “service”, “displayName”: “X”, “link”: “http://www.x.com” |
| लिंक | string | पोस्ट का स्थायी लिंक। “link”: “http://x.com/API/statuses/1050118621198921728” |
| body | string | पोस्ट का पाठ। Retweets में, ध्यान दें कि X शुरुआत में “RT @username” जोड़कर और मूल पाठ को संक्षिप्त करके अंत में त्रिबिंदु जोड़ते हुए, रूट स्तर पर body के मान को संशोधित करता है। इसलिए, Retweets के लिए आपके ऐप को object.body देखना चाहिए, ताकि यह सुनिश्चित किया जा सके कि वह मूल पोस्ट (जिसे Retweet किया जा रहा है) का असंशोधित पाठ निकाल रहा है। “body”: “Championship से Cardiff, Crystal Palace और Hull City के EPL में शामिल होने के साथ, अंत में रेलिगेशन की कड़ी लड़ाई होगी।“ |
| display_text_range | array | body टेक्स्ट के भीतर वर्णों की उस सीमा का वर्णन करता है, जो प्रदर्शित पोस्ट को इंगित करती है। जिन पोस्ट्स की शुरुआत @mentions से होती है, वे 0 से अधिक पर शुरू होंगे, और जिन पोस्ट्स में मीडिया संलग्न है या जो 140 वर्णों से अधिक लंबे हैं, वे long_object में display_text_range दर्शाएंगे। “display_text_range”: [ 14, 42 ] या “long_object”: “display_text_range”: [ 0, 277 ]… |
| actor | ऑब्जेक्ट | पोस्ट करने वाले X उपयोगकर्ता का प्रतिनिधित्व करने वाला एक ऑब्जेक्ट। Actor Object, X उपयोगकर्ता को संदर्भित करता है और इसमें उस उपयोगकर्ता से संबंधित सभी मेटाडेटा शामिल होता है। देखें actor object का विवरण |
| inReplyTo | ऑब्जेक्ट | यदि लागू हो, तो यह उस पोस्ट को संदर्भित करने वाला एक JSON ऑब्जेक्ट है जिसका उत्तर दिया जा रहा है। इसमें उस पोस्ट का लिंक होता है। “inReplyTo”: “link”: “http://x.com/GOP/statuses/349573991561838593” |
| location | object | एक JSON ऑब्जेक्ट जो X “Place” का प्रतिनिधित्व करता है, जहाँ पोस्ट बनाई गई थी। यह X प्लेटफ़ॉर्म से प्राप्त एक पास-थ्रू ऑब्जेक्ट है। देखें location ऑब्जेक्ट |
| twitter_entities | ऑब्जेक्ट | X के डेटा फ़ॉर्मैट का entities ऑब्जेक्ट, जिसमें urls, mentions और hashtags की सूचियाँ शामिल होती हैं। कृपया Entities के बारे में X का दस्तावेज़ यहाँ देखें। ध्यान दें कि Retweets में, X रूट स्तर पर निकाली गई entities के मानों को छोटा कर सकता है। इसलिए, Retweets के लिए आपके ऐप को object.twitter_entities देखना चाहिए, ताकि यह सुनिश्चित हो सके कि आप बिना काट-छाँट वाले मानों का उपयोग कर रहे हैं। twitter_entities ऑब्जेक्ट का विवरण देखें |
| twitter_extended_entities | ऑब्जेक्ट | X के मूल डेटा प्रारूप का एक ऑब्जेक्ट, जिसमें “media” शामिल होता है। यह किसी भी पोस्ट के लिए मौजूद होगा, जहाँ twitter_entities ऑब्जेक्ट के “media” फ़ील्ड में डेटा मौजूद हो, और यदि पोस्ट में एक से अधिक फ़ोटो हों, तो उन्हें भी शामिल करेगा। ध्यान दें कि बहु-फ़ोटो पोस्ट्स के लिए मीडिया जानकारी प्राप्त करने का यही सही स्थान है। एकाधिक फ़ोटो को “media” array के भीतर अल्पविराम से अलग किए गए JSON ऑब्जेक्ट्स के रूप में दर्शाया जाता है। twitter_extended_entities ऑब्जेक्ट विवरण देखें |
| gnip | ऑब्जेक्ट | मिलान नियमों को दर्शाने और स्ट्रीम या उत्पाद पर सक्रिय enrichments के आधार पर समृद्ध डेटा जोड़ने के लिए गतिविधि payload में जोड़ा गया एक ऑब्जेक्ट। gnip ऑब्जेक्ट विवरण देखें |
| edit_history | ऑब्जेक्ट | किसी पोस्ट के सभी संस्करणों को दर्शाने वाले अद्वितीय पहचानकर्ता। जिन पोस्ट्स में कोई संपादन नहीं है, उनके लिए एक ID होगी। जिन पोस्ट्स का संपादन इतिहास है, उनके लिए कई IDs होंगी, जो संपादनों के क्रम के अनुसार आरोही क्रम में व्यवस्थित होंगी, और सबसे नया संस्करण ऐरे की अंतिम स्थिति में होगा। पोस्ट IDs का उपयोग किसी पोस्ट के पिछले संस्करणों को हाइड्रेट करने और देखने के लिए किया जा सकता है। उदाहरण: edit_history”: “initial_tweet_id”: “1283764123” “edit_tweet_ids”: [“1283764123”, “1394263866”] |
| edit_controls | ऑब्जेक्ट | यदि मौजूद हो, तो यह बताता है कि कोई पोस्ट कितनी देर तक अभी भी संपादन योग्य है और कितने संपादन शेष हैं। पोस्ट्स को बनाए जाने के बाद केवल पहले 30 मिनट तक ही संपादित किया जा सकता है और उन्हें अधिकतम पाँच बार संपादित किया जा सकता है। पोस्ट के पिछले संस्करणों को हाइड्रेट करने और देखने के लिए पोस्ट IDs का उपयोग किया जा सकता है। उदाहरण: “edit_controls”: “editable_until_ms”: 123 “edits_remaining”: 3 |
| editable | बूलियन | जब मौजूद हो, तो यह दर्शाता है कि कोई पोस्ट प्रकाशित किए जाने के समय संपादन के लिए पात्र थी या नहीं। यह फ़ील्ड डायनेमिक नहीं है और जब कोई पोस्ट अपनी संपादन-योग्य समय-सीमा या संपादनों की अधिकतम संख्या तक पहुँच जाती है, तो यह True से False में टॉगल नहीं होगी। पोस्ट की निम्नलिखित विशेषताएँ इस फ़ील्ड का मान false कर देंगी: * पोस्ट प्रमोट की गई है * पोस्ट में एक पोल है * पोस्ट non-self-thread reply है * पोस्ट एक retweet है (ध्यान दें कि Quote Tweets संपादन के लिए पात्र हैं) * पोस्ट nullcast है * Community पोस्ट * Superfollow पोस्ट * Collaborative पोस्ट |
अतिरिक्त पोस्ट विशेषताएँ
| एट्रिब्यूट | Type | विवरण |
|---|---|---|
| twitter_lang | string | |
| favoritesCount | int | रिक्त हो सकता है. यह दर्शाता है कि X उपयोगकर्ताओं ने इस पोस्ट को लगभग कितनी बार लाइक किया है। “favoritesCount”:298 |
| retweetCount | int | इस पोस्ट को कितनी बार रिट्वीट किया गया है। उदाहरण: “retweetCount”:153 |
अप्रचलित विशेषताएँ
| फ़ील्ड | Type | विवरण |
| geo | object | वह पॉइंट लोकेशन जहाँ पोस्ट बनाई गई थी। |
| twitter_filter_level | string | गैर-विघटनकारी परिवर्तन के लिए रखा गया अप्रचलित फ़ील्ड |
नेस्टेड पोस्ट 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 ऑब्जेक्ट
डेटा शब्दकोश
| विशेषता | प्रकार | विवरण |
|---|---|---|
| objectType | string | ”objectType”: “person” |
| id | string | इस लेखक के लिए अद्वितीय पहचानकर्ता का स्ट्रिंग निरूपण। उदाहरण: “id:x.com:2244994945” |
| link | ”http://www.x.com/XDeveloeprs | |
| displayName | String | उपयोगकर्ता का वह नाम, जैसा उसने खुद निर्धारित किया है। यह ज़रूरी नहीं कि किसी व्यक्ति का वास्तविक नाम हो। आमतौर पर इसकी सीमा 50 वर्ण होती है, लेकिन यह बदल सकती है। उदाहरण: “displayName”: “XDevelopers” |
| preferredUsername | string | वह स्क्रीन नाम, हैंडल या उपनाम जिससे यह उपयोगकर्ता अपनी पहचान बताता है। यह अद्वितीय होता है, लेकिन बदल सकता है। जहाँ संभव हो, उपयोगकर्ता पहचानकर्ता के रूप में id का उपयोग करें। आमतौर पर इसकी अधिकतम लंबाई 15 वर्ण होती है, लेकिन कुछ पुराने खाते इससे लंबे नामों के साथ मौजूद हो सकते हैं। उदाहरण:“preferredUsername”: “XDevelopers” |
| location | object | ** “location”: “objectType”:** “place”, “displayName”: “127.0.0.1” ** }** |
| links | array | Nullable . उपयोगकर्ता द्वारा अपनी प्रोफ़ाइल से संबद्ध किया गया URL। उदाहरण: ** “links”: [ { “href”:** “https://developer.x.com/en/community”, “rel”: “me” ** } ]** |
| summary | string | Nullable . उपयोगकर्ता द्वारा निर्धारित UTF-8 स्ट्रिंग, जो उसके खाते का विवरण देती है। उदाहरण: “summary”: “The voice of the #XDevelopers team…“ |
| protected | Boolean | जब true हो, तो यह दर्शाता है कि इस उपयोगकर्ता ने अपनी पोस्ट्स को सुरक्षित रखने का विकल्प चुना है। सार्वजनिक और सुरक्षित पोस्ट्स के बारे में देखें। उदाहरण: “protected”: true |
| verified | Boolean | जब true हो, तो यह दर्शाता है कि उपयोगकर्ता का खाता सत्यापित है। सत्यापित खाते देखें। उदाहरण: “verified”: false |
| followersCount | Int | इस खाते के वर्तमान फ़ॉलोअर्स की संख्या। कुछ विशेष परिस्थितियों में, यह फ़ील्ड अस्थायी रूप से “0” दिखा सकती है। उदाहरण: “followers_count”: 21 |
| friendsCount | Int | इस खाते द्वारा फ़ॉलो किए जा रहे उपयोगकर्ताओं की संख्या (अर्थात इसकी “followings”)। कुछ विशेष परिस्थितियों में, यह फ़ील्ड अस्थायी रूप से “0” दिखा सकती है। उदाहरण: “friends_count”: 32 |
| listedCount | Int | उन सार्वजनिक सूचियों की संख्या, जिनका यह उपयोगकर्ता सदस्य है। उदाहरण: “listed_count”: 9274 |
| favoritesCount | Int | इस उपयोगकर्ता द्वारा खाते के पूरे जीवनकाल में पसंद की गई पोस्ट्स की संख्या। ऐतिहासिक कारणों से फ़ील्ड नाम में British spelling का उपयोग किया गया है। उदाहरण: “favourites_count”: 13 |
| statusesCount | Int | उपयोगकर्ता द्वारा की गई पोस्ट्स (रीट्वीट्स सहित) की संख्या। उदाहरण: “statuses_count”: 42 |
| postedTime | date | वह UTC datetime, जब उपयोगकर्ता का खाता X पर बनाया गया था। उदाहरण: “postedTime”: “2013-12-14T04:35:55.036Z” |
| image | string | उपयोगकर्ता की प्रोफ़ाइल छवि की ओर संकेत करने वाला HTTPS-आधारित URL। उदाहरण: “image”: “https://pbs.twimg.com/profile_images/1283786620521652229/lEODkLTh_normal.jpg” |
अब समर्थित नहीं रहने वाली (deprecated) विशेषताएँ
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
| utcOffset | null | मान null पर सेट किया जाएगा। यह अब भी GET account/settings के माध्यम से उपलब्ध है |
| twitterTimeZone | null | मान null पर सेट किया जाएगा। यह अब भी GET account/settings में tzinfo_name के रूप में उपलब्ध है |
| languages | null | मान null पर सेट किया जाएगा। यह अब भी GET account/settings में language के रूप में उपलब्ध है |
उदाहरण:
Location ऑब्जेक्ट
स्थान डेटा शब्दकोश
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
| objectType | string | अधिक विस्तृत जानकारी के लिए यहाँ देखें। उदाहरण: “objectType”: “place” |
| displayName | string | स्थान का पूरा नाम। ****“displayName”: “United States” |
| name | string | X के place JSON फ़ॉर्मैट में स्थान का नाम। |
| link | string | place के पूर्ण X JSON निरूपण का लिंक। “link”: “https://api.x.com/1.1/geo/id/27c45d804c777999.json” |
| geo | object | X का geo coordinates ऑब्जेक्ट। यह polygon या point, दोनों में से कोई एक हो सकता है। geo देखें |
| countryCode | String | उस देश का संक्षिप्त country code जिसमें यह स्थान शामिल है। उदाहरण: “countryCode”: “US |
| country | String | उस देश का नाम जिसमें यह स्थान शामिल है। उदाहरण: **“country”: **“United States” |
profileLocations व्युत्पन्न ऑब्जेक्ट्स
| फ़ील्ड | Type | विवरण |
| address | object | gnip object के भीतर profileLocation location object में। profile geo enrichement द्वारा निकाले गए स्थान का पता। इसकी विस्तृतता का स्तर अलग-अलग हो सकता है। “address”: { ** “country”: “United States”, “countryCode”: “US”, “locality”: “Providence”, “region”: “Rhode Island”, “subRegion”: “Providence County” }** |
| geo | object | gnip object के भीतर profileLocation location object में। profile geo enrichement द्वारा निकाले गए स्थान के केंद्र-बिंदु निर्देशांक। “geo”: { ** “coordinates”: [ -98.5, 39.76 ], “type”: “point” }** |
X entities object
उदाहरण:
X विस्तारित entities ऑब्जेक्ट
उदाहरण:
Gnip ऑब्जेक्ट
gnip ऑब्जेक्ट में सक्रिय enrichments द्वारा जोड़ा गया metadata होता है, साथ ही activity के लिए लागू matching rules का संकेत भी शामिल होता है।
डेटा शब्दकोश
| फ़ील्ड | प्रकार | विवरण |
| matching_rules | array | matching rule objects की एक array शामिल होती है, जो उस rule को दर्शाती है जिससे activity मेल खाती है। “matching_rules”: [ ** { “tag”: null, “id”:** 1026514022567358500**, “id_str”:** “1026514022567358464” ** } ]** |
| urls | array | activity के भीतर मौजूद links की एक array और URL unwinding enrichment के लिए expanded url metadata शामिल होता है। “urls”: [ { “url”:* “https://t.co/tGQqNxxyhU”, “expanded_url”: “https://www.youtube.com/channel/UCwUxW2CV2p5mzjMBqvqLzJA”, “expanded_status”: 200**, “expanded_url_title”:** “Birdys Daughter”, “expanded_url_description”: “Premium, single-origin, handpicked Jamaica Blue Mountain Coffee” ** } ]** |
| profileLocations | array of location objects | Profile Geo enrichment से प्राप्त location object शामिल होता है। ** “profileLocations”: [ { “address”: { “country”:** “Canada”, “countryCode”: “CA”, “locality”: “Toronto”, “region”: “Ontario” ** }, “displayName”:** “Toronto, Ontario, Canada”, ** “geo”: { “coordinates”: [ -79.4163, 43.70011 ], “type”:** “point” ** }, “objectType”:** “place” ** } ] }** |
उदाहरण:
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 से उपलब्ध है।
पोस्ट्स का भू-संदर्भन
- किसी पोस्ट के संदेश में भौगोलिक संदर्भ
- उपयोगकर्ता द्वारा भू-टैग की गई पोस्ट्स
- उपयोगकर्ता द्वारा सेट की गई अकाउंट प्रोफ़ाइल की ‘होम’ लोकेशन