कृपया ध्यान दें: हमने search पोस्ट्स और पोस्ट संख्या का नया संस्करण X API v2 में जारी किया है। हम आपको सलाह देते हैं कि X API v2 में क्या नया है, यह देखें। इन एंडपॉइंट्स को पोस्ट संपादन मेटाडेटा शामिल करने के लिए अपडेट किया गया है। इस मेटाडेटा के बारे में अधिक जानने के लिए “पोस्ट्स संपादित करें” के मूलभूत पेज को देखें।
अवलोकन
Enterprise
एंटरप्राइज़ APIs केवल हमारे managed access levels के अंतर्गत उपलब्ध हैं। इन APIs का उपयोग करने के लिए, आपको पहले हमारी एंटरप्राइज़ sales team के साथ एक खाता सेट अप करना होगा। अधिक जानकारी के लिए HERE देखें।
आप X API search पोस्ट ऑफ़रिंग्स की पूरी सूची HERE पर देख सकते हैं।
दो एंटरप्राइज़ search APIs हैं:
- 30-Day Search API पिछले 30 दिनों का डेटा प्रदान करता है।
- Full-Archive Search API मार्च 2006 में किए गए पहले पोस्ट तक के X डेटा के पूरे corpus तक पूर्ण और तुरंत पहुँच प्रदान करता है।
अनुरोध प्रकार
खोज अनुरोध (डेटा)
maxResults पैरामीटर का उपयोग करके, आप डिस्प्ले उपयोग-मामलों के लिए छोटे पेज साइज़ निर्दिष्ट कर सकते हैं (ताकि आपका उपयोगकर्ता आवश्यकता अनुसार और परिणामों का अनुरोध कर सके) या बड़े डेटा पुल के लिए बड़े पेज साइज़ (अधिकतम 500 तक) चुन सकते हैं। डेटा उल्टे कालानुक्रमिक क्रम में दिया जाता है और डिलीवरी के समय अनुपालक होता है।
गणना अनुरोध (पोस्ट गणना)
उपलब्ध ऑपरेटर
डेटा उपलब्धता / महत्वपूर्ण तिथि
- पहला पोस्ट: 3/21/2006
- पहला Native Retweets: 11/6/2009
- पहला Geo-tagged पोस्ट: 11/19/2009
- फ़िल्टरिंग के लिए URLs पहली बार इंडेक्स किए गए: 8/27/2011
- उन्नत URL विस्तार मेटाडेटा (वेबसाइट शीर्षक और विवरण): 12/1/2014
- Profile Geo enrichment मेटाडेटा और फ़िल्टरिंग: 2/17/2015
डेटा अपडेट और परिवर्तनशीलता
- उपयोगकर्ता ऑब्जेक्ट मेटाडेटा:
- उपयोगकर्ता का @handle (संख्यात्मक ID कभी नहीं बदलता)
- बायो विवरण
- गणनाएँ: statuses, followers, friends, favorites, lists
- प्रोफ़ाइल स्थान
- अन्य विवरण, जैसे time zone और language
- पोस्ट के आँकड़े - यानी ऐसी कोई भी चीज़ जिसे उपयोगकर्ता की कार्रवाइयों से प्लेटफ़ॉर्म पर बदला जा सकता है (उदाहरण नीचे दिए गए हैं):
- Favorites की संख्या
- Retweet की संख्या
सिंगल बनाम मल्टी-थ्रेडेड अनुरोध
पुनः प्रयास लॉजिक
- अनुरोध जिस समयावधि को कवर करता है, उसे कम करके फिर से प्रयास करें। यदि फिर भी सफलता न मिले, तो इसे घटाते-घटाते 6 घंटे की समय-विंडो तक ले आएँ।
- यदि आप बड़ी संख्या में terms को OR कर रहे हैं, तो उन्हें अलग-अलग rules में बाँट दें और प्रत्येक को अलग-अलग फिर से आज़माएँ।
- यदि आप अपने rule में बड़ी संख्या में exclusions का उपयोग कर रहे हैं, तो rule में negated terms की संख्या कम करें और फिर से प्रयास करें।
त्वरित शुरुआत
एंटरप्राइज़ Search Posts: 30-Day API के साथ शुरुआत करना
- [एक एंटरप्राइज़ खाता]https://developer.x.com/en/products/x-api/enterprise
- आपका username, password, और account name
- आपके search endpoint से संबद्ध label, जैसा कि console.gnip.com पर प्रदर्शित होता है
डेटा endpoint ऐक्सेस करना
data endpoint हमें मेल खाने वाले पोस्ट्स का पूरा Post payload देगा। हम अंग्रेज़ी में @XDevelopers से आने वाले पोस्ट्स खोजने के लिएfrom: और lang: operators का उपयोग करेंगे। अधिक operators के लिए यहाँ क्लिक करें।
- cURL
- cURL उदाहरण
-
Username
<USERNAME>उदा.email@domain.com -
Account name
<ACCOUNT-NAME>उदा.john-doe -
Label
<LABEL>उदा.prod -
fromDate and toDate उदा.
"fromDate":"201811010000", "toDate":"201811122359"
डेटा एंडपॉइंट रिस्पॉन्स पेलोड
आपके API अनुरोध से वापस मिलने वाला पेलोड नीचे दिखाए अनुसार JSON फ़ॉर्मैट में होगा।counts endpoint को ऐक्सेस करना
day के अनुसार समूहित किया गया है।
- cURL
- cURL उदाहरण
-
उपयोगकर्ता नाम
<USERNAME>उदा.email@domain.com -
अकाउंट नाम
<ACCOUNT-NAME>उदा.john-doe -
लेबल
<LABEL>उदा.prod -
fromDate और toDate उदा.
"fromDate":"201811010000", "toDate":"201811122359"
Counts एंडपॉइंट रिस्पॉन्स पेलोड
संदर्भित लेख
एंटरप्राइज़ Search Posts: Full-Archive API के साथ शुरुआत करना
data फ़ॉर्मैट में हो सकते हैं, जो आपको पूरा पोस्ट payload देता है, या counts फ़ॉर्मैट में, जो आपको मेल खाने वाले पोस्ट्स की संख्यात्मक गणना का डेटा देता है। हम data और counts endpoints पर अनुरोध करने के लिए cURL का उपयोग करेंगे।
आपको निम्नलिखित की आवश्यकता होगी:
- [एक एंटरप्राइज़ खाता]https://developer.x.com/en/products/x-api/enterprise
- आपका उपयोगकर्ता नाम, पासवर्ड और खाता नाम
- आपके search endpoint से संबद्ध लेबल, जैसा कि console.gnip.com पर प्रदर्शित होता है
डेटा एंडपॉइंट को एक्सेस करना
from: और lang: ऑपरेटर्स का उपयोग करेंगे। अधिक ऑपरेटर्स के लिए यहाँ क्लिक करें।
- cURL
- cURL उदाहरण
-
Username
<USERNAME>उदाहरण:email@domain.com -
Account name
<ACCOUNT-NAME>उदाहरण:john-doe -
Label
<LABEL>उदाहरण:prod -
fromDate and toDate उदाहरण:
"fromDate":"201802010000", "toDate":"201802282359"
डेटा एंडपॉइंट रिस्पॉन्स पेलोड
counts endpoint ऐक्सेस करना
counts endpoint के ज़रिए, हम @XDevelopers खाते से किए गए अंग्रेज़ी पोस्ट्स की संख्याday के आधार पर समूहित करके प्राप्त करेंगे।
- cURL
- cURL उदाहरण
-
Username
<USERNAME>उदा.email@domain.com -
Account name
<ACCOUNT-NAME>उदा.john-doe -
Label
<LABEL>उदा.prod -
fromDate and toDate उदा.
"fromDate":"201802010000", "toDate":"201802282359"
Counts एंडपॉइंट रिस्पॉन्स पेलोड
संदर्भित लेख
मार्गदर्शिकाएँ
खोज क्वेरी तैयार करना
Enterprise ऑपरेटर
- Enterprise 30-दिनों का search API
- Enterprise Full-archive search API
उत्पाद अवलोकन
मेटाडेटा टाइमलाइन
to: और in_reply_to_status_id: PowerTrack Operators पर निर्भर रहने के बजाय, पोस्ट के मुख्य भाग की जांच करनी पड़ती है।
यहाँ दी गई जानकारी Full-Archive Search का उपयोग करके तैयार की गई है (जो सैकड़ों searches पर आधारित है)। यह टाइमलाइन 100% पूर्ण या सटीक नहीं है। यदि आप filtering/metadata से जुड़ी कोई अन्य “born on date” पहचानते हैं जो आपके use-case के लिए अहम है, तो कृपया हमें बताएं।
ध्यान दें कि आधारभूत Search index को फिर से बनाया जा सकता है। इसलिए, इस टाइमलाइन में दिए गए विवरण बदल सकते हैं।
2006
- 26 मार्च -
lang:. Search index जनरेट करते समय बैकफिल किए जा रहे पोस्ट metadata का एक उदाहरण। - 13 जुलाई -
has:mentionsका मिलान शुरू होता है। - 6 अक्टूबर -
has:symbols. स्टॉक प्रतीकों पर चर्चा के लिए slang)। - 26 अक्टूबर -
has:linksका मिलान शुरू होता है। - 23 नवंबर -
has:hashtagsका मिलान शुरू होता है।
2007
- 30 जनवरी - पहला औपचारिक @reply (in_reply_to_user_id),
reply_to_status_id:का मिलान शुरू होता है। - 23 अगस्त - विषयों और बातचीतों को व्यवस्थित करने के लिए Hashtags एक सामान्य प्रचलन के रूप में उभरते हैं। इसका पहला वास्तविक उपयोग एक सप्ताह बाद होता है।
2009
- 15 मई -
is:retweet। ध्यान दें कि यह ऑपरेटर आधिकारिक Retweets के ‘beta’ रिलीज़ और उसके “Via @” पैटर्न के साथ मैच करना शुरू करता है। इस beta अवधि के दौरान, पोस्ट क्रिया ‘post’ होती है और मूल पोस्ट पेलोड में शामिल नहीं होती। - 13 अगस्त - आधिकारिक Retweets का अंतिम संस्करण “RT @” पैटर्न, ‘share’ पर सेट क्रिया, और मूल पोस्ट को शामिल करने वाले ‘retweet_status’ एट्रिब्यूट के साथ रिलीज़ किया जाता है (इस प्रकार JSON पेलोड का आकार लगभग दोगुना हो जाता है)।
2010
- 6 मार्च -
has:geo,bounding_box:औरpoint_radius:geo ऑपरेटर मैच होना शुरू करते हैं। - 28 अगस्त -
has:videos(फ़रवरी 2015 तक, यह ऑपरेटर youtube.com, vimeo.com, और vivo.com जैसी चुनिंदा वीडियो होस्टिंग साइटों के लिंक वाले पोस्ट्स से मैच करता है)।
2011
- 20 जुलाई -
has:mediaऔरhas:imagesका मिलान शुरू हुआ। Native photos की आधिकारिक घोषणा 9 अगस्त, 2010 को की गई थी।
2014
- 3 दिसंबर - payloads में HTML title और description के साथ उन्नत URL मेटाडेटा का कुछ भाग (लगभग) शामिल होना शुरू होता है। उन्नत मेटाडेटा मई 2016 में अधिक पूर्ण रूप में सामने आया।
2015
- 10 फ़रवरी -
has:videos‘native’ X वीडियो से मेल खाता है। - 17 फ़रवरी -
has:profile_geo,profile_country:,profile_region:,profile_locality:Profile Geo ऑपरेटर मिलान शुरू करते हैं। - 17 फ़रवरी -
place_country:औरplace:पोस्ट geo ऑपरेटर मिलान शुरू करते हैं।
2016
- 1 मई - उन्नत URL मेटाडेटा अधिक व्यापक रूप से उपलब्ध हुआ, और इसकी आधिकारिक घोषणा अगस्त 2016 में Gnip 2.0 लॉन्च के हिस्से के रूप में की गई। Search APIs के साथ इस मेटाडेटा के लिए कोई संबंधित Operators नहीं हैं।
2017
- 22 फ़रवरी - पोल मेटाडेटा समृद्ध नेटिव फ़ॉर्मैट में उपलब्ध हुआ। इस मेटाडेटा के लिए कोई संबद्ध Operators नहीं हैं।
2022
- 27 सितंबर - इस तारीख से बनाए गए सभी पोस्ट ऑब्जेक्ट्स के लिए Edited Post मेटाडेटा उपलब्ध है। पोस्ट ऑब्जेक्ट्स प्रदान करने वाले सभी Enterprise एंडपॉइंटs को भी इसी तारीख से यह मेटाडेटा उपलब्ध कराने के लिए अपडेट किया गया। उपलब्ध कराए गए संपादन मेटाडेटा में edit_history और edit_controls ऑब्जेक्ट्स शामिल हैं। यह edit मेटाडेटा उन पोस्ट्स के लिए नहीं लौटाया जाएगा जो 27 सितंबर, 2022 से पहले बनाए गए थे। फिलहाल, ऐसे कोई Enterprise Operators उपलब्ध नहीं हैं जो इस मेटाडेटा से मेल खाते हों। Edit Post मेटाडेटा के बारे में अधिक जानने के लिए, Edit Posts fundamentals पेज देखें।
2022
- 29 सितंबर - इस तारीख से बनाए गए सभी पोस्ट ऑब्जेक्ट्स के लिए Edited Post मेटाडेटा उपलब्ध है। पोस्ट ऑब्जेक्ट्स उपलब्ध कराने वाले सभी Enterprise एंडपॉइंट्स को भी इसी तारीख से यह मेटाडेटा उपलब्ध कराने के लिए अपडेट किया गया। दिए गए edit मेटाडेटा में edit_history और edit_controls ऑब्जेक्ट्स शामिल हैं। यह मेटाडेटा 27 सितंबर, 2022 से पहले बनाए गए पोस्ट्स के लिए वापस नहीं किया जाएगा। फ़िलहाल, इन मेटाडेटा से मेल खाने वाले कोई Enterprise Operators उपलब्ध नहीं हैं। Edit Post मेटाडेटा के बारे में अधिक जानने के लिए, Edit Posts fundamentals पेज देखें।
फ़िल्टरिंग सुझाव
- कुछ मेटाडेटा के लिए ‘उपलब्धता शुरू होने’ की तारीखें होती हैं, इसलिए फ़िल्टर के कारण फ़ॉल्स नेगेटिव्स मिल सकते हैं। ऐसी खोजों में वे Operators शामिल होते हैं जो ऐसे मेटाडेटा पर निर्भर करते हैं, जो खोज अवधि के पूरे समय या उसके किसी हिस्से में मौजूद नहीं था। उदाहरण के लिए, अगर आप
has:imagesOperator के साथ पोस्ट्स खोज रहे हैं, तो जुलाई 2011 से पहले की अवधियों के लिए कोई मैच नहीं मिलेगा। ऐसा इसलिए है क्योंकि यह Operator नेटिव फ़ोटो पर मैच करता है (यानी वे फ़ोटो जो X user-interface का उपयोग करके किसी पोस्ट से अटैच की गई हों)। फ़ोटो-शेयरिंग वाले पोस्ट्स का अधिक पूर्ण डेटा सेट पाने के लिए, जुलाई 2011 से पहले के फ़िल्टर में ऐसे rule clauses होने चाहिए जो फ़ोटो होस्टिंग के सामान्य URLs से मैच करें। - कुछ मेटाडेटा को उस समय के बाद के मेटाडेटा से backfill किया गया है, जब X पर पोस्ट किया गया था।
- X प्रोफ़ाइल्स
- मूल या साझा किए गए पोस्ट्स
- पोस्ट भाषा वर्गीकरण
- पोस्ट्स का भू-संदर्भन
- साझा किए गए लिंक का मीडिया
X प्रोफ़ाइल
मूल पोस्ट्स और रीट्वीट्स
_is:retweet_ Operator उपयोगकर्ताओं को रीट्वीट्स को शामिल करने या बाहर रखने की सुविधा देता है। इस Operator का उपयोग करने वालों को अगस्त 2009 से पहले के डेटा में रीट्वीट का मिलान करने (या न करने) के लिए दो रणनीतियाँ रखनी चाहिए। अगस्त 2009 से पहले, “@RT ” पैटर्न से मेल खाने वाली पोस्ट्स की पहचान करने के लिए, पोस्ट संदेश की स्वयं सटीक वाक्यांश मिलान के साथ जाँच करनी होती है। (वास्तव में, यदि आप मई से अगस्त 2009 के बीच के रीट्वीट्स पर फ़िल्टर कर रहे हैं, तो “Via @” पैटर्न को भी शामिल किया जाना चाहिए।) अगस्त 2009 के बाद की अवधियों के लिए, is:retweet Operator उपलब्ध है।
पोस्ट भाषा वर्गीकरण
lang: Operator पूरे पोस्ट archive के लिए उपलब्ध है।
पोस्ट्स का भू-संदर्भन
-
पोस्ट संदेश में भौगोलिक संदर्भ। पोस्ट संदेश में भौगोलिक संदर्भों का मिलान करना, हालांकि यह अक्सर सबसे चुनौतीपूर्ण तरीका होता है क्योंकि यह स्थानीय जानकारी पर निर्भर करता है, पूरे पोस्ट आर्काइव के लिए एक विकल्प है। यहाँ 2006 में San Francisco क्षेत्र के लिए
golden gateफ़िल्टर के आधार पर किए गए भू-संदर्भित मिलान का एक उदाहरण दिया गया है। -
उपयोगकर्ता द्वारा geo-tag की गई पोस्ट्स। Search APIs के साथ, कुछ Geo Operators का उपयोग करके पोस्ट्स का मिलान शुरू करने की क्षमता मार्च 2010 में उपलब्ध हुई, और अन्य के लिए फ़रवरी 2015 में:
- 6 मार्च, 2010:
has:geo,bounding_box:औरpoint_radius: - 17 फ़रवरी, 2015:
place_country:औरplace:
- 6 मार्च, 2010:
-
उपयोगकर्ता द्वारा सेट किया गया अकाउंट प्रोफ़ाइल ‘home’ स्थान। Profile Geo Operators, Historical PowerTrack और Search APIs दोनों में उपलब्ध हैं। Search APIs में यह Profile Geo metadata फ़रवरी 2015 से उपलब्ध है। उन पोस्ट्स के लिए जो Profile Geo metadata उपलब्ध होने से पहले पोस्ट की गई थीं,
bio_location:Operator उपलब्ध है, जिसका उपयोग गैर-मानकीकृत उपयोगकर्ता इनपुट के मिलान के लिए किया जा सकता है।
- 2006 October 26 -
has:links - 2011 July 20 -
has:imagesandhas:media - 2011 August - Expanded URLs enrichment के साथ
url:सितंबर 2006 से ही(url:"spotify.com" OR url:gnip OR url:microsoft OR url:google OR url:youtube)http://x.com/Adam/statuses/16602 से मेल खाता है, जबकि twitter_entities और gnip objects में कोई urls[] metadata नहीं है। “youtube.com” message content का एक उदाहरण है, जो किसी भी urls[] metadata के बिना url:youtube से मेल खाता है। - 2015 February 10 - native videos के लिए
has:videos। 2010/08/28 और 2015/02/10 के बीच, यह Operator youtube.com, vimeo.com, और vivo.com जैसी चुनिंदा video hosting sites के लिंक वाले पोस्ट्स से मेल खाता है। - 2016 May 1 - Enhanced URLs enrichment के आधार पर
url_title:औरurl_description:, जो सामान्य रूप से उपलब्ध हैं। पहला Enhanced URL metadata दिसंबर 2014 में दिखाई देना शुरू हुआ।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
General Search पोस्ट API के सामान्य प्रश्न
data endpoint से मुझे मिलने वाली पोस्ट्स की संख्या, counts endpoint द्वारा दर्शाई गई पोस्ट्स की संख्या से मेल नहीं खाती। ऐसा क्यों है?
data endpoint से मुझे मिलने वाली पोस्ट्स की संख्या, counts endpoint द्वारा दर्शाई गई पोस्ट्स की संख्या से मेल नहीं खाती। ऐसा क्यों है?
मुझे वह पोस्ट नहीं मिली जो मेरी क्वेरी से मेल खानी चाहिए थी। क्यों?
मुझे वह पोस्ट नहीं मिली जो मेरी क्वेरी से मेल खानी चाहिए थी। क्यों?
- वह पोस्ट, जिसे आप देखने की अपेक्षा कर रहे थे, किसी संरक्षित खाते से है
- क्योंकि data endpoint सभी compliance events को ध्यान में रखता है (अर्थात हटाई गई पोस्ट्स, scrubbed geos आदि को रिस्पॉन्स में शामिल नहीं किया जाएगा)।
क्या ऐसी कोई लाइब्रेरी हैं जिनका इस्तेमाल मैं Search पोस्ट APIs के साथ शुरुआत करने के लिए कर सकता हूँ?
क्या ऐसी कोई लाइब्रेरी हैं जिनका इस्तेमाल मैं Search पोस्ट APIs के साथ शुरुआत करने के लिए कर सकता हूँ?
- Tweepy - मानक search/Posts प्रोडक्ट (Python) का उपयोग करने के लिए अच्छा है
- X API - मानक Search Post APIs (Python) का उपयोग करने के लिए अच्छा है
- Search Posts Python और Search Posts Ruby - दो अच्छे टूल, जिनका उपयोग enterprise (और v2!) Search Post APIs के लिए किया जा सकता है
क्या मुझे कभी data endpoint को किए गए अपने अनुरोध में `maxResults` के लिए सेट किए गए मान से कम पोस्ट्स मिलेंगी?
क्या मुझे कभी data endpoint को किए गए अपने अनुरोध में `maxResults` के लिए सेट किए गए मान से कम पोस्ट्स मिलेंगी?
maxResults पर या 30 दिनों के बाद pagination करता है।उदाहरण के लिए, यदि किसी 30-दिवसीय अवधि में आपके पास 800 पोस्ट्स हैं, तो पूरे परिणाम प्राप्त करने के लिए आपको दो requests करनी होंगी; क्योंकि प्रति request लौटाई जा सकने वाली पोस्ट्स की अधिकतम संख्या 500 (maxResults) है। और यदि पहले महीने में आपके पास केवल 400 पोस्ट्स हैं, और फिर दूसरे महीने में 100 पोस्ट्स हैं, तब भी पूरे परिणाम प्राप्त करने के लिए आपको दो requests का उपयोग करना होगा; क्योंकि pagination 30 दिनों की अवधि के बाद होता है, भले ही पहली request निर्दिष्ट maxResults पोस्ट्स से कम लौटाए।मेल खाने वाली पोस्ट्स किस क्रम में लौटाई जाती हैं?
मेल खाने वाली पोस्ट्स किस क्रम में लौटाई जाती हैं?
fromDate तक नहीं पहुँच जातीं।Edit पोस्ट्स मेरे उपयोग और बिलिंग को कैसे प्रभावित करते हैं?
Edit पोस्ट्स मेरे उपयोग और बिलिंग को कैसे प्रभावित करते हैं?
Enterpriseमैं एंटरप्राइज़ Search पोस्ट API की कीमत के बारे में अधिक जानना चाहता/चाहती हूँ और इस ऑफ़रिंग के लिए आवेदन करना चाहता/चाहती हूँ। मैं यह कैसे करूँ?
मैं एंटरप्राइज़ Search पोस्ट API की कीमत के बारे में अधिक जानना चाहता/चाहती हूँ और इस ऑफ़रिंग के लिए आवेदन करना चाहता/चाहती हूँ। मैं यह कैसे करूँ?
मैं अपने उपयोग-परिदृश्य से मेल खाने वाला नियम-समुच्चय कैसे बनाऊँ?
मैं अपने उपयोग-परिदृश्य से मेल खाने वाला नियम-समुच्चय कैसे बनाऊँ?
- कृपया हमारे enterprise Search पोस्ट APIs का दस्तावेज़ यहाँ देखें
- नियमों और फ़िल्टरिंग के बारे में उपयोगी जानकारी यहाँ मिल सकती है
- data endpoint का उपयोग करने के बारे में उपयोगी जानकारी यहाँ मिल सकती है
- counts endpoint का उपयोग करने के बारे में उपयोगी जानकारी यहाँ मिल सकती है
- उपलब्ध operators की सूची यहाँ मिल सकती है
मैंने इस महीने की अपनी अनुरोध सीमा/लिमिट पार कर ली है, लेकिन मुझे अधिक डेटा तक पहुंच चाहिए - मैं क्या कर सकता/सकती हूँ?
मैंने इस महीने की अपनी अनुरोध सीमा/लिमिट पार कर ली है, लेकिन मुझे अधिक डेटा तक पहुंच चाहिए - मैं क्या कर सकता/सकती हूँ?
त्रुटि निवारण मार्गदर्शिका
- कृपया सुनिश्चित करें कि आप प्रत्येक एंडपॉइंट के लिए सही पैरामीटर का उपयोग कर रहे हैं (उदा.
bucketsफ़ील्ड का उपयोग केवल counts एंडपॉइंट के साथ किया जा सकता है, data एंडपॉइंट के साथ नहीं) - कृपया दोबारा जाँच लें कि
:product,:account_nameऔर:labelफ़ील्ड्स सही हैं। आप अपना:labelफ़ील्ड GNIP Console में देख सकते हैं (केवल enterprise ग्राहकों के लिए)।
API संदर्भ
Enterprise search APIs
- 30-Day Search API - पिछले 30 दिनों के भीतर पोस्ट किए गए Tweet उपलब्ध कराता है।
- Full-Archive Search API - मार्च 2006 में पोस्ट किए गए पहले Tweet से शुरू होकर, 2006 तक पुराने Tweet उपलब्ध कराता है।
- Tweet data और counts का अनुरोध करने के methods
- Authentication
- Pagination
- API request पैरामीटर और example requests
- API रिस्पॉन्स JSON payloads और example responses
- HTTP रिस्पॉन्स codes
विधियाँ
https://gnip-api.x.com/search/ है।
:productउस search एंडपॉइंट को दर्शाता है जिस पर आप अनुरोध भेज रहे हैं, यानी30dayयाfullarchive।:account_nameआपके खाते से संबद्ध (case-sensitive) नाम है, जैसा कि console.gnip.com पर दिखाया जाता है:labelआपके search एंडपॉइंट से संबद्ध (case-sensitive) लेबल है, जैसा कि console.gnip.com पर दिखाया जाता है
- Data एंडपॉइंट: https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod.json
- Counts एंडपॉइंट: https://gnip-api.x.com/search/30day/accounts/TwitterDev/prod/counts.json
:product, :account_name, और :label वाले URLs का उपयोग किया गया है। इन उदाहरणों का उपयोग करने से पहले, URLs को अपनी जानकारी के अनुसार अपडेट कर लें।
प्रमाणीकरण
अनुरोध/रिस्पॉन्स का व्यवहार
fromDate और toDate पैरामीटर का उपयोग करके, आप API द्वारा समर्थित किसी भी समयावधि के लिए अनुरोध कर सकते हैं। 30-Day search API पिछले 31 दिनों के Tweets उपलब्ध कराता है (हालाँकि इसे ‘30-Day’ API कहा जाता है, यह उपयोगकर्ताओं को पूरे महीने के अनुरोध करने में सक्षम बनाने के लिए 31 दिन उपलब्ध कराता है)। Full-Archive search API सबसे पहले Tweet (21 मार्च, 2006) तक के Tweets उपलब्ध कराता है। हालांकि, एक ही रिस्पॉन्स आपके द्वारा निर्दिष्ट ‘maxResults’ या 31 दिनों में से जो भी कम हो, उसी तक सीमित रहेगा। यदि मेल खाने वाला डेटा या आपकी समयावधि आपके निर्दिष्ट maxResults या 31 दिनों से अधिक है, तो आपको एक टोकन मिलेगा, जिसका उपयोग आपको अपनी निर्दिष्ट समयावधि के शेष भाग पर pagination करने के लिए करना चाहिए।
उदाहरण के लिए, मान लें कि आप Full-Archive search का उपयोग कर रहे हैं और 1 जनवरी, 2017 से 30 जून, 2017 तक अपनी query से मेल खाने वाले सभी Tweets चाहते हैं। आप अपने अनुरोध में fromDate और toDate पैरामीटर का उपयोग करके पूरी छह महीने की समयावधि निर्दिष्ट करेंगे। search API, Tweets के पहले ‘page’ के साथ रिस्पॉन्स देगा, जिसमें आपके maxResults पैरामीटर के अनुसार Tweets की संख्या होगी (जिसका डिफ़ॉल्ट मान 100 है)। यदि और Tweets मौजूद हैं (और बहुत संभव है कि होंगे), तो API एक टोकन भी देगा, जिससे आप डेटा के अगले ‘page’ के लिए अनुरोध कर सकेंगे। यह प्रक्रिया तब तक दोहराई जाती है, जब तक API टोकन लौटाना बंद नहीं कर देता। अधिक जानकारी के लिए अगला अनुभाग देखें।
पेजिनेशन
डेटा पेजिनेशन
maxResults पैरामीटर का डिफ़ॉल्ट मान 100 होता है, और इसे 10-500 की सीमा में सेट किया जा सकता है। यदि आपकी क्वेरी, अनुरोध में उपयोग किए गए maxResults पैरामीटर से अधिक Tweets से मेल खाती है, तो रिस्पॉन्स में एक ‘next’ टोकन शामिल होगा (रूट-लेवल JSON एट्रिब्यूट के रूप में)। इस ‘next’ टोकन का उपयोग अगले अनुरोध में उस क्वेरी से मेल खाने वाले Tweets के अगले हिस्से को प्राप्त करने के लिए किया जाता है (यानी अगला ‘page’)। ‘next’ टोकन तब तक मिलते रहेंगे, जब तक आप उस क्वेरी के परिणामों के अंतिम ‘page’ तक नहीं पहुंच जाते; अंतिम ‘page’ पर कोई ‘next’ टोकन नहीं दिया जाता।
डेटा का अगला ‘page’ अनुरोध करने के लिए, आपको मूल अनुरोध जैसी बिल्कुल वही क्वेरी करनी होगी, जिसमें query, toDate, और fromDate पैरामीटर भी शामिल हों, यदि उनका उपयोग किया गया हो। साथ ही, आपको एक ‘next’ अनुरोध पैरामीटर भी शामिल करना होगा, जिसे पिछले रिस्पॉन्स से मिले मान पर सेट किया गया हो। इसका उपयोग GET या POST, दोनों प्रकार के अनुरोधों के साथ किया जा सकता है। हालांकि, GET अनुरोध के मामले में ‘next’ पैरामीटर URL encoded होना चाहिए।
आप अपनी पिछली क्वेरी से मिले ‘next’ एलिमेंट को तब तक पास करते रह सकते हैं, जब तक आपकी क्वेरी द्वारा कवर की गई समयावधि के सभी Tweets प्राप्त न हो जाएं। जब आपको ऐसा रिस्पॉन्स मिलता है जिसमें ‘next’ एलिमेंट शामिल नहीं होता, तो इसका मतलब है कि आप अंतिम page तक पहुंच चुके हैं और निर्दिष्ट क्वेरी तथा समय-सीमा के लिए कोई अतिरिक्त डेटा उपलब्ध नहीं है।
Counts पेजिनेशन
अतिरिक्त टिप्पणियाँ
- खोज अनुरोध में
fromDateयाtoDateका उपयोग करने पर, आपको केवल अपनी समय-सीमा के भीतर के परिणाम ही मिलेंगे। जब आप अपनी समय-सीमा के भीतर परिणामों के अंतिम समूह तक पहुँच जाते हैं, तो आपको ‘next’ टोकन नहीं मिलेगा। - ‘next’ एलिमेंट का उपयोग 10-500 के बीच किसी भी
maxResultsमान के साथ किया जा सकता है (डिफ़ॉल्ट मान 100 है)।maxResultsयह निर्धारित करता है कि हर रिस्पॉन्स में कितने Tweets लौटाए जाएँगे, लेकिन इससे अंततः सभी परिणाम प्राप्त करने में कोई बाधा नहीं आती। - ‘next’ एलिमेंट की समय-सीमा समाप्त नहीं होती। एक ही ‘next’ क्वेरी का उपयोग करने वाले कई अनुरोधों को, अनुरोध कब किया गया है इसकी परवाह किए बिना, वही परिणाम मिलेंगे।
- ‘next’ पैरामीटर का उपयोग करके परिणामों में पेजिंग करते समय, आपको क्वेरी की सीमाओं पर डुप्लिकेट मिल सकते हैं। आपके एप्लिकेशन को इन्हें सहन करने में सक्षम होना चाहिए।
डेटा एंडपॉइंट
POST /search/:product/:label
एंडपॉइंट पैटर्न:
डेटा अनुरोध पैरामीटर
अतिरिक्त विवरण
डेटा अनुरोधों और रिस्पॉन्स के उदाहरण
उदाहरण POST अनुरोध
- POST अनुरोध में अनुरोध पैरामीटर JSON-स्वरूपित बॉडी के माध्यम से भेजे जाते हैं, जैसा कि नीचे दिखाया गया है।
- जिस PowerTrack नियम के लिए क्वेरी की जा रही है, उसके सभी भाग (उदा. keywords, bounding_box: जैसे अन्य operators) ‘query’ पैरामीटर में रखे जाने चाहिए।
- नियम के भागों को query URL में अलग-अलग पैरामीटर के रूप में विभाजित न करें।
उदाहरण GET अनुरोध
- GET अनुरोध में, अनुरोध पैरामीटर मानक URL एन्कोडिंग का उपयोग करके URL में एन्कोड किए जाते हैं।
- जिस PowerTrack नियम के लिए क्वेरी की जा रही है, उसके सभी भाग (जैसे, कीवर्ड और bounding_box: जैसे अन्य ऑपरेटर) ‘query’ पैरामीटर में रखे जाने चाहिए।
- नियम के भागों को क्वेरी URL में अलग-अलग पैरामीटर के रूप में विभाजित न करें।
उदाहरण डेटा रिस्पॉन्स
काउंट्स एंडपॉइंट
/search/:stream/counts
एंडपॉइंट पैटर्न:
/search/fullarchive/accounts/:account_name/:label/counts.json
यह एंडपॉइंट निर्दिष्ट क्वेरी के लिए काउंट (डेटा वॉल्यूम) डेटा लौटाता है। यदि कोई समयावधि निर्दिष्ट नहीं की जाती है, तो समय पैरामीटर डिफ़ॉल्ट रूप से पिछले 30 दिनों के लिए सेट हो जाते हैं। डेटा वॉल्यूम टाइमस्टैम्प वाली ऐरे के रूप में लौटाए जाते हैं, जो दैनिक, प्रति घंटा (डिफ़ॉल्ट), या प्रति मिनट हो सकती है।
नोट: इस कार्यक्षमता को नीचे वर्णित पैरामीटरों को URL में एन्कोड करके, POST के बजाय GET अनुरोध का उपयोग करके भी पूरा किया जा सकता है।
काउंट्स अनुरोध पैरामीटर
अतिरिक्त विवरण
काउंट्स अनुरोधों और रिस्पॉन्स के उदाहरण
उदाहरण POST अनुरोध
- POST अनुरोध में अनुरोध पैरामीटर JSON-स्वरूपित body के माध्यम से भेजे जाते हैं, जैसा कि नीचे दिखाया गया है।
- जिस PowerTrack नियम के लिए क्वेरी की जा रही है, उसके सभी भागों (उदाहरण के लिए, keywords, bounding_box: जैसे अन्य operators) को ‘query’ पैरामीटर में रखा जाना चाहिए।
- rule के भागों को query URL में अलग-अलग पैरामीटर के रूप में विभाजित न करें।
उदाहरण GET अनुरोध
- GET अनुरोध में, अनुरोध पैरामीटर मानक URL encoding का उपयोग करके URL में एन्कोड किए जाते हैं
- जिस PowerTrack नियम के लिए क्वेरी की जा रही है, उसके सभी हिस्से (उदा. keywords, bounding_box: जैसे अन्य operators) ‘query’ पैरामीटर में रखे जाने चाहिए
- rule के हिस्सों को query URL में अलग-अलग पैरामीटर के रूप में विभाजित न करें