> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# एकीकरण गाइड

यह पृष्ठ रिट्वीट एंडपॉइंट्स के एकीकरण के लिए उपयोगी टूल और मुख्य अवधारणाओं के बारे में बताता है।

***

<div id="helpful-tools">
  ## उपयोगी टूल
</div>

इस एंडपॉइंट को इंटीग्रेट करने में मदद करने वाली कुछ प्रमुख अवधारणाओं पर जाने से पहले, हम सलाह देते हैं कि आप निम्नलिखित से परिचित हो जाएँ:

<div id="postman">
  #### Postman
</div>

Postman एक बेहतरीन टूल है, जिसका इस्तेमाल आप किसी endpoint को टेस्ट करने के लिए कर सकते हैं। हर Postman अनुरोध में सभी path और body पैरामीटर शामिल होते हैं, जिससे आप जल्दी समझ सकते हैं कि आपके लिए क्या उपलब्ध है। हमारे Postman collections के बारे में ज़्यादा जानने के लिए, कृपया हमारा ["Postman का उपयोग करना"](/hi/tutorials/postman-getting-started) पेज देखें।

<div id="code-samples">
  #### कोड नमूने
</div>

क्या आप अपनी पसंदीदा कोडिंग भाषा में इस एंडपॉइंट को सेट अप करने के लिए कुछ कोड उदाहरण ढूंढ रहे हैं? हमारे पास अलग-अलग कोड नमूने उपलब्ध हैं, जिनका उपयोग आप हमारे [Github पेज](https://github.com/xdevplatform/Twitter-API-v2-sample-code) पर शुरुआती बिंदु के रूप में कर सकते हैं।

<div id="third-party-libraries">
  #### तृतीय-पक्ष लाइब्रेरी
</div>

शुरुआत करने में मदद के लिए हमारे कम्युनिटी की [तृतीय-पक्ष लाइब्रेरी](/hi/x-api/tools-and-libraries/overview) में से किसी एक का उपयोग करें। सही version tag देखकर आप ऐसी लाइब्रेरी ढूँढ सकते हैं, जो v2 endpoints के साथ काम करती हो।

<div id="key-concepts">
  ### मुख्य अवधारणाएँ
</div>

<div id="authentication">
  #### प्रमाणीकरण
</div>

सभी X API v2 endpoints के लिए यह आवश्यक है कि आप अपने अनुरोधों को क्रेडेंशियल्स के एक सेट से प्रमाणीकृत करें, जिन्हें keys और tokens भी कहा जाता है।

आप Retweets lookup endpoint पर अपने अनुरोधों को प्रमाणीकृत करने के लिए OAuth 1.0a User Context या OAuth 2.0 बेयरर टोकन, इनमें से किसी एक का उपयोग कर सकते हैं।

manage Retweets endpoints के लिए OAuth 1.0a User Context का उपयोग आवश्यक है। इसका मतलब है कि सफल अनुरोध करने के लिए आपको API keys और user access tokens के एक सेट का उपयोग करना होगा। access tokens उस उपयोगकर्ता से संबद्ध होने चाहिए जिसकी ओर से आप अनुरोध कर रहे हैं। यदि आप किसी अन्य उपयोगकर्ता के लिए access tokens का एक सेट जनरेट करना चाहते हैं, तो उन्हें 3-legged OAuth flow का उपयोग करके आपके ऐप को अधिकृत या प्रमाणीकृत करना होगा।

कृपया ध्यान दें कि OAuth 1.0a का उपयोग थोड़ा जटिल हो सकता है। यदि आप इस प्रमाणीकरण विधि से परिचित नहीं हैं, तो हम अनुशंसा करते हैं कि आप अपने अनुरोधों को सही तरीके से प्रमाणीकृत करने के लिए एक [library](/hi/x-api/tools-and-libraries/overview) का उपयोग करें।

**कृपया ध्यान दें**

यदि आप निम्नलिखित फ़ील्ड्स का अनुरोध कर रहे हैं, तो OAuth 1.0a 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

<div id="developer-console-projects-and-developer-apps">
  #### डेवलपर कंसोल, Projects, और डेवलपर ऐप्स
</div>

ऐसे प्रमाणीकरण क्रेडेंशियल्स का एक सेट प्राप्त करने के लिए, जो X API v2 एंडपॉइंट्स के साथ काम करे, आपको [डेवलपर खाते के लिए साइन अप](https://developer.x.com/en/portal/petition/essential/basic-info) करना होगा, उस खाते के भीतर एक [Project](/hi/resources/fundamentals/developer-apps) सेट अप करना होगा, और उस Project के भीतर एक [डेवलपर ऐप](/hi/resources/fundamentals/developer-apps) बनाना होगा। इसके बाद, आप अपने डेवलपर ऐप के भीतर अपनी कुंजियाँ और टोकन पा सकते हैं।

<div id="rate-limits">
  #### रेट लिमिट्स
</div>

हर दिन, हज़ारों डेवलपर X API पर अनुरोध करते हैं। इन अनुरोधों की बड़ी संख्या को प्रबंधित करने में मदद के लिए, प्रत्येक एंडपॉइंट पर [रेट लिमिट्स](/hi/x-api/fundamentals/rate-limits) लागू होती हैं, जो उन अनुरोधों की संख्या को सीमित करती हैं जिन्हें आप अपने ऐप की ओर से या किसी प्रमाणीकृत उपयोगकर्ता की ओर से कर सकते हैं।

Retweets को प्रबंधित करने वाले एंडपॉइंट्स प्रति 15 मिनट 50 अनुरोधों तक सीमित हैं (प्रति उपयोगकर्ता)। इसके अतिरिक्त, POST एंडपॉइंट के लिए, आप 3 घंटे की विंडो में 300 अनुरोधों तक सीमित हैं (प्रति उपयोगकर्ता, प्रति ऐप)।

Retweets lookup एंडपॉइंट के साथ, आप प्रति 15 मिनट की विंडो में 75 अनुरोधों तक सीमित हैं। इसके अतिरिक्त, यह एंडपॉइंट केवल सबसे हाल के 100 Retweet करने वाले उपयोगकर्ताओं को ही लौटाएगा।

<div id="fields-and-expansions">
  #### फ़ील्ड्स और expansions
</div>

X API v2 उपयोगकर्ताओं को फ़ील्ड्स और expansions नामक टूल्स के एक सेट की मदद से यह चुनने देता है कि वे API से ठीक कौन-सा डेटा वापस पाना चाहते हैं। expansion पैरामीटर आपको payload में संदर्भित ऑब्जेक्ट्स को expand करने की सुविधा देता है। उदाहरण के लिए, यह endpoint आपको निम्नलिखित [expansions](/hi/x-api/fundamentals/expansions) प्राप्त करने देता है:

* attachments.poll\_ids
* attachments.media\_keys
* author\_id, entities.mentions.username
* geo.place\_id
* in\_reply\_to\_user\_id,
* referenced\_tweets.id,
* referenced\_tweets.id.author\_id

फ़ील्ड्स पैरामीटर आपको यह चुनने देता है कि आप अलग-अलग डेटा ऑब्जेक्ट्स में से कौन-से [फ़ील्ड्स](/hi/x-api/fundamentals/fields) प्राप्त करना चाहते हैं। ये endpoints मुख्य रूप से पोस्ट ऑब्जेक्ट्स लौटाते हैं। डिफ़ॉल्ट रूप से, पोस्ट ऑब्जेक्ट id और text फ़ील्ड्स लौटाता है। tweet.created\_at या tweet.entities जैसे अतिरिक्त फ़ील्ड्स पाने के लिए, आपको फ़ील्ड्स पैरामीटर का इस्तेमाल करके उनका अनुरोध अलग से करना होगा। कुछ महत्वपूर्ण फ़ील्ड्स, जिनका इस्तेमाल आप अपने integration में करने पर विचार कर सकते हैं, उनमें poll data, metrics, पोस्ट annotations, और conversation ID फ़ील्ड्स शामिल हैं।

हमने अपने [X API v2 data dictionary](/hi/x-api/fundamentals/data-dictionary) में [फ़ील्ड्स और expansions का उपयोग कैसे करें](/hi/x-api/fundamentals/data-dictionary#how-to-use-fields-and-expansions) पर एक गाइड जोड़ी है।

***

<div id="code-examples">
  ### कोड उदाहरण
</div>

<div id="get-users-who-retweeted-a-post">
  #### उन उपयोगकर्ताओं को प्राप्त करें जिन्होंने किसी पोस्ट को रीपोस्ट किया
</div>

<CodeGroup dropdown>
  ```bash cURL theme={null}
  curl "https://api.x.com/2/tweets/1234567890/retweeted_by?user.fields=username,verified" \
    -H "Authorization: Bearer $BEARER_TOKEN"
  ```

  ```python Python SDK theme={null}
  from xdk import Client

  client = Client(bearer_token="YOUR_BEARER_TOKEN")

  # उन उपयोगकर्ताओं को प्राप्त करें जिन्होंने किसी पोस्ट को रीपोस्ट किया
  response = client.posts.get_retweeted_by(
      "1234567890",
      user_fields=["username", "verified"]
  )
  for user in response.data:
      print(f"{user.username} - Verified: {user.verified}")
  ```

  ```javascript JavaScript SDK theme={null}
  import { Client } from "@xdevplatform/xdk";

  const client = new Client({ bearerToken: "YOUR_BEARER_TOKEN" });

  // उन उपयोगकर्ताओं को प्राप्त करें जिन्होंने किसी पोस्ट को रीपोस्ट किया
  const response = await client.posts.getRetweetedBy("1234567890", {
    userFields: ["username", "verified"],
  });

  response.data?.forEach((user) => {
    console.log(`${user.username} - Verified: ${user.verified}`);
  });
  ```
</CodeGroup>

<div id="retweet-a-post">
  #### किसी पोस्ट को रिट्वीट करें
</div>

<CodeGroup dropdown>
  ```bash cURL theme={null}
  curl -X POST "https://api.x.com/2/users/123/retweets" \
    -H "Authorization: OAuth ..." \
    -H "Content-Type: application/json" \
    -d '{"tweet_id": "1234567890"}'
  ```

  ```python Python SDK theme={null}
  from xdk import Client
  from xdk.oauth1_auth import OAuth1

  oauth1 = OAuth1(
      api_key="YOUR_API_KEY",
      api_secret="YOUR_API_SECRET",
      access_token="YOUR_ACCESS_TOKEN",
      access_token_secret="YOUR_ACCESS_TOKEN_SECRET"
  )

  client = Client(auth=oauth1)

  # किसी पोस्ट को रिट्वीट करें
  response = client.posts.retweet(user_id="123", tweet_id="1234567890")
  print(response.data)
  ```

  ```javascript JavaScript SDK theme={null}
  import { Client, OAuth1 } from "@xdevplatform/xdk";

  const oauth1 = new OAuth1({
    apiKey: "YOUR_API_KEY",
    apiSecret: "YOUR_API_SECRET",
    accessToken: "YOUR_ACCESS_TOKEN",
    accessTokenSecret: "YOUR_ACCESS_TOKEN_SECRET",
  });

  const client = new Client({ oauth1 });

  // किसी पोस्ट को रिट्वीट करें
  const response = await client.posts.retweet("123", { tweetId: "1234567890" });
  console.log(response.data);
  ```
</CodeGroup>
