मुख्य सामग्री पर जाएं
यह मार्गदर्शिका उन प्रमुख अवधारणाओं को समझाती है जिनकी आपको पोस्ट लुकअप एंडपॉइंट्स को अपने एप्लिकेशन में एकीकृत करने के लिए आवश्यकता है।

प्रमाणीकरण

सभी X API v2 एंडपॉइंट के लिए प्रमाणीकरण आवश्यक है। अपनी ज़रूरत के अनुसार उपयुक्त विधि चुनें:
विधिकिसके लिए सबसे उपयुक्तक्या प्राइवेट मेट्रिक्स तक पहुंच मिलती है?
OAuth 2.0 App-Onlyसर्वर-टू-सर्वर, सार्वजनिक डेटानहीं
PKCE के साथ OAuth 2.0 Authorization Codeउपयोगकर्ता-मुखी ऐप्सहाँ (अधिकृत उपयोगकर्ता के पोस्ट्स के लिए)
OAuth 1.0a User Contextलीगेसी इंटीग्रेशनहाँ (अधिकृत उपयोगकर्ता के पोस्ट्स के लिए)

केवल ऐप प्रमाणीकरण

सार्वजनिक पोस्ट डेटा के लिए, बेयरर टोकन का उपयोग करें:
cURL
curl "https://api.x.com/2/tweets/1234567890" \
  -H "Authorization: Bearer $BEARER_TOKEN"

User Context प्रमाणीकरण

निजी मेट्रिक्स तक पहुँचने के लिए, पोस्ट के लेखक की ओर से प्रमाणीकरण करें:
निम्नलिखित फ़ील्ड्स के लिए User Context प्रमाणीकरण आवश्यक है:
  • tweet.fields.non_public_metrics
  • tweet.fields.promoted_metrics
  • tweet.fields.organic_metrics
  • media.fields.non_public_metrics
  • media.fields.promoted_metrics
  • media.fields.organic_metrics

फ़ील्ड्स और expansions

X API v2 डिफ़ॉल्ट रूप से न्यूनतम डेटा रिटर्न करता है। आपको जो चाहिए, ठीक वही अनुरोध करने के लिए fields और expansions का उपयोग करें।

डिफ़ॉल्ट रिस्पॉन्स

{
  "data": {
    "id": "1234567890",
    "text": "Hello world!",
    "edit_history_tweet_ids": ["1234567890"]
  }
}

उपलब्ध फ़ील्ड्स

फ़ील्डविवरण
created_atपोस्ट बनाने का टाइमस्टैम्प
author_idलेखक की उपयोगकर्ता ID
public_metricsलाइक, रीट्वीट, जवाब और कोट की संख्या
entitiesहैशटैग, मेंशन, URL, कैशटैग
attachmentsमीडिया कुंजियाँ, पोल ID
conversation_idथ्रेड पहचानकर्ता
context_annotationsविषय/इकाई वर्गीकरण
in_reply_to_user_idवह उपयोगकर्ता जिसे जवाब दिया जा रहा है
langपता लगाई गई भाषा
sourceपोस्टिंग क्लाइंट
possibly_sensitiveसंवेदनशील सामग्री का फ़्लैग
reply_settingsकौन जवाब दे सकता है
फ़ील्डविवरण
username@handle
nameडिस्प्ले नाम
profile_image_urlअवतार URL
verifiedसत्यापन स्थिति
descriptionपरिचय
public_metricsफ़ॉलोअर/फ़ॉलोइंग की संख्या
created_atखाता बनाने की तारीख
फ़ील्डविवरण
urlमीडिया URL
preview_image_urlथंबनेल URL
typephoto, video, animated_gif
duration_msवीडियो की अवधि
height, widthआयाम
alt_textएक्सेसिबिलिटी टेक्स्ट

फ़ील्ड्स के साथ उदाहरण

cURL
curl "https://api.x.com/2/tweets/1234567890?\
tweet.fields=created_at,public_metrics,entities&\
expansions=author_id,attachments.media_keys&\
user.fields=username,verified&\
media.fields=url,type" \
  -H "Authorization: Bearer $BEARER_TOKEN"

पोस्ट संपादन

पोस्ट्स को बनाए जाने के 30 मिनट के भीतर अधिकतम 5 बार संपादित किया जा सकता है।

यह कैसे काम करता है

  • हर संपादन एक नई पोस्ट ID बनाता है
  • edit_history_tweet_ids में सभी संस्करण शामिल होते हैं (सबसे पुराना पहले)
  • एंडपॉइंट हमेशा सबसे नया संस्करण लौटाता है

उदाहरण रिस्पॉन्स

{
  "data": {
    "id": "1234567893",
    "text": "Hello world! (edited twice)",
    "edit_history_tweet_ids": [
      "1234567890",
      "1234567891",
      "1234567893"
    ]
  }
}
30 मिनट की संपादन विंडो के बाद प्राप्त की गई पोस्ट्स उनके अंतिम संस्करण को दर्शाती हैं। रीयल-टाइम उपयोग के मामलों में, ध्यान रखें कि हाल ही में प्रकाशित पोस्ट्स में अभी भी संपादन किया जा सकता है।

त्रुटि प्रबंधन

सामान्य त्रुटियाँ

StatusErrorSolution
400अमान्य अनुरोधपैरामीटर का फ़ॉर्मैट जाँचें
401अनधिकृतप्रमाणीकरण क्रेडेंशियल्स की पुष्टि करें
403निषिद्धऐप की अनुमतियाँ जाँचें
404नहीं मिलापोस्ट हटा दी गई है या मौजूद नहीं है
429बहुत अधिक अनुरोधकुछ देर प्रतीक्षा करें और फिर से प्रयास करें (रेट लिमिट्स देखें)

हटाई गई या संरक्षित पोस्ट्स

यदि कोई पोस्ट हटा दी गई है या किसी ऐसे संरक्षित खाते से है जिसे आप फ़ॉलो नहीं करते हैं:
  • एकल पोस्ट लुकअप 404 लौटाता है
  • मल्टी-पोस्ट लुकअप परिणामों में उस पोस्ट को शामिल नहीं करता और errors array देता है
{
  "data": [
    { "id": "1234567890", "text": "Available post" }
  ],
  "errors": [
    {
      "resource_id": "1234567891",
      "resource_type": "tweet",
      "title": "Not Found Error",
      "detail": "Could not find tweet with id: [1234567891]."
    }
  ]
}

सर्वोत्तम प्रथाएँ

बैच अनुरोध

API कॉल कम करने के लिए एक साथ अधिकतम 100 पोस्ट्स प्राप्त करने हेतु multi-Post एंडपॉइंट का उपयोग करें।

केवल आवश्यक फ़ील्ड्स का अनुरोध करें

रिस्पॉन्स का आकार और प्रोसेसिंग समय कम करने के लिए केवल वही फ़ील्ड्स निर्दिष्ट करें जिनकी आपको आवश्यकता है।

रिस्पॉन्स कैश करें

एक ही सामग्री के लिए बार-बार किए जाने वाले अनुरोधों को कम करने हेतु पोस्ट डेटा को स्थानीय रूप से कैश करें।

संपादनों का ध्यान रखें

रीयल-टाइम ऐप्स के लिए, 30 मिनट की एडिट विंडो के बाद पोस्ट्स को फिर से फ़ेच करने पर विचार करें।

अगले चरण

API संदर्भ

एंडपॉइंट का संपूर्ण दस्तावेज़

डेटा शब्दकोश

सभी उपलब्ध ऑब्जेक्ट और फ़ील्ड्स

नमूना कोड

काम करने वाले कोड उदाहरण

त्रुटि प्रबंधन

त्रुटियों को प्रभावी ढंग से संभालें