> ## 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.

# v1 से v2

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

<div id="list-posts-lookup-standard-v11-compared-to-x-api-v2">
  ### सूची पोस्ट्स लुकअप: Standard v1.1 की X API v2 से तुलना
</div>

यदि आप standard v1.1 [GET lists/statuses](https://developer.x.com/en/docs/twitter-api/v1/accounts-and-users/create-manage-lists/api-reference/get-lists-statuses) endpoint का उपयोग कर रहे हैं, तो इस गाइड का उद्देश्य standard v1.1 और X API v2 endpoints के बीच समानताओं और अंतरों को समझने में आपकी मदद करना है।

* **समानताएँ**
  * प्रमाणीकरण के तरीके
  * रेट लिमिट्स
* **अंतर**
  * एंडपॉइंट URL
  * ऐप और प्रोजेक्ट आवश्यकताएँ
  * प्रति अनुरोध डेटा ऑब्जेक्ट की सीमाएँ
  * रिस्पॉन्स डेटा फ़ॉर्मैट
  * अनुरोध पैरामीटर

<div id="similarities">
  #### समानताएँ
</div>

**प्रमाणीकरण**

दोनों एंडपॉइंट संस्करण [OAuth 1.0a यूज़र कॉन्टेक्स्ट](/hi/resources/fundamentals/authentication#oauth-2-0) का समर्थन करते हैं। इसलिए, अगर आप पहले स्टैंडर्ड v1.1 सूची पोस्ट्स लुकअप एंडपॉइंट्स में से किसी एक का इस्तेमाल कर रहे थे, तो X API v2 संस्करण पर माइग्रेट करने के बाद भी आप उसी प्रमाणीकरण विधि का उपयोग जारी रख सकते हैं।

आपकी चुनी हुई प्रमाणीकरण लाइब्रेरी/पैकेज के आधार पर, केवल ऐप प्रमाणीकरण शुरुआत करने का शायद सबसे आसान तरीका है, और इसे एक साधारण request header के साथ सेट किया जा सकता है। केवल ऐप Access Token जनरेट करने का तरीका जानने के लिए [यह केवल ऐप गाइड](/hi/resources/fundamentals/authentication#bearer-token-also-known-as-app-only) देखें।

**रेट लिमिट्स**

|                                                                                                                                                                       |                                                                                                                                                                                                                                                               |
| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Standard v1.1**                                                                                                                                                     | **X API v2**                                                                                                                                                                                                                                                  |
| /1.1/lists/statuses.json<br /><br />OAuth 1.0a यूज़र कॉन्टेक्स्ट के साथ हर 15-मिनट विंडो में 900 requests<br /><br />केवल ऐप के साथ हर 15-मिनट विंडो में 900 requests | /2/lists/:id/tweets<br /><br />OAuth 1.0a यूज़र कॉन्टेक्स्ट के साथ हर 15-मिनट विंडो में 900 requests<br /><br />PKCE के साथ OAuth 2.0 Authorization Code के साथ हर 15-मिनट विंडो में 900 requests<br /><br />केवल ऐप के साथ हर 15-मिनट विंडो में 900 requests |

<div id="differences">
  #### अंतर
</div>

**एंडपॉइंट URL**

* मानक v1.1 एंडपॉइंट्स:
  * GET [https://api.x.com/1.1/lists/statuses.json](https://api.x.com/1.1/lists/statuses.json)
    (निर्दिष्ट सूची से Tweets का लुकअप)
* X API v2 एंडपॉइंट:
  * GET [https://api.x.com/2/lists/:id/tweets](https://api.x.com/2/lists/:id/tweets)
    (निर्दिष्ट सूची से Tweets का लुकअप)

**ऐप और प्रोजेक्ट आवश्यकताएँ**

X API v2 एंडपॉइंट्स के लिए यह आवश्यक है कि आप अपने अनुरोधों को प्रमाणित करते समय ऐसे [developer ऐप](/hi/resources/fundamentals/developer-apps) के क्रेडेंशियल्स का उपयोग करें, जो किसी [प्रोजेक्ट](/hi/resources/fundamentals/developer-apps) से संबद्ध हो। सभी X API v1.1 एंडपॉइंट्स, ऐप्स या किसी प्रोजेक्ट से संबद्ध ऐप्स के क्रेडेंशियल्स का उपयोग कर सकते हैं।

**प्रति अनुरोध डेटा ऑब्जेक्ट सीमा**

मानक v1.1 /lists/statuses एंडपॉइंट आपको प्रति अनुरोध अधिकतम 5000 पोस्ट्स लौटाने की अनुमति देता है। नए v2 एंडपॉइंट्स आपको प्रति अनुरोध अधिकतम 100 पोस्ट्स लौटाने की अनुमति देते हैं। डिफ़ॉल्ट रूप से 100 user ऑब्जेक्ट्स लौटाए जाते हैं; परिणामों की संख्या बदलने के लिए आपको 1-100 के बीच की किसी संख्या के साथ query parameter max\_results= पास करना होगा। इसके बाद, response payload में लौटाए गए next\_token को आप अपने अगले अनुरोध में pagination\_token query parameter के रूप में पास कर सकते हैं।

**रिस्पॉन्स डेटा प्रारूप**

मानक v1.1 और X API v2 एंडपॉइंट संस्करणों के बीच सबसे बड़े अंतरों में से एक यह है कि आप यह कैसे चुनते हैं कि आपके payload में कौन-से फ़ील्ड्स लौटें।

मानक एंडपॉइंट्स में, आपको डिफ़ॉल्ट रूप से response के कई फ़ील्ड्स मिलते हैं, और फिर parameters का उपयोग करके आप यह तय कर सकते हैं कि payload में कौन-से अतिरिक्त फ़ील्ड्स या फ़ील्ड्स के समूह लौटने चाहिए।

X API v2 संस्करण डिफ़ॉल्ट रूप से केवल पोस्ट के id और text फ़ील्ड्स देता है। किसी भी अतिरिक्त फ़ील्ड्स या ऑब्जेक्ट्स का अनुरोध करने के लिए, आपको [fields](/hi/x-api/fundamentals/fields) और [expansions](/hi/x-api/fundamentals/expansions) parameters का उपयोग करना होगा। इस एंडपॉइंट से आपके द्वारा अनुरोध किए गए कोई भी पोस्ट फ़ील्ड्स प्राथमिक पोस्ट ऑब्जेक्ट में लौटेंगे। किसी भी expanded ऑब्जेक्ट के फ़ील्ड्स आपके response में includes ऑब्जेक्ट के भीतर लौटेंगे। इसके बाद आप प्राथमिक ऑब्जेक्ट और expanded ऑब्जेक्ट्स में मौजूद IDs का मिलान करके expanded ऑब्जेक्ट्स को प्राथमिक पोस्ट ऑब्जेक्ट से मैप कर सकते हैं।

यहाँ संभावित पोस्ट फ़ील्ड्स और expansions के कुछ उदाहरण दिए गए हैं:

* attachments
* author\_id
* context\_annotations
* created\_at
* geo
* lang

|                     |               |
| :------------------ | :------------ |
| **एंडपॉइंट**        | **Expansion** |
| /2/lists/:id/tweets | author\_id    |

हम आपको प्रोत्साहित करते हैं कि इन नए parameters के बारे में उनकी संबंधित guides में और पढ़ें, या [fields और expansions का उपयोग कैसे करें](/hi/x-api/fundamentals/data-dictionary#how-to-use-fields-and-expansions) पर हमारी guide देखें।

हमने एक [data format migration guide](/hi/x-api/migrate/data-format-migration) भी तैयार की है, जो मानक v1.1 फ़ील्ड्स को नए v2 फ़ील्ड्स से मैप करने में आपकी मदद कर सकती है। यह guide आपको वह विशिष्ट expansion और field parameter भी बताएगी, जिसे आपको अपने v2 अनुरोध के साथ पास करना होगा ताकि विशिष्ट फ़ील्ड्स लौटाए जा सकें।

कुछ फ़ील्ड्स का अनुरोध करने के तरीके में बदलावों के अलावा, X API v2 उन ऑब्जेक्ट्स के लिए नए JSON डिज़ाइन भी पेश कर रहा है जो APIs द्वारा लौटाए जाते हैं, जिनमें [Post](/hi/x-api/fundamentals/data-dictionary#tweet) और [user](/hi/x-api/fundamentals/data-dictionary#user) ऑब्जेक्ट्स शामिल हैं।

* JSON root स्तर पर, मानक एंडपॉइंट्स पोस्ट ऑब्जेक्ट्स को **statuses** array में लौटाते हैं, जबकि X API v2 **data** array लौटाता है।

* Retweeted और Quoted "statuses" का संदर्भ देने के बजाय, X API v2 JSON Retweeted और Quoted Tweets का संदर्भ देता है। कई legacy और deprecated फ़ील्ड्स, जैसे **contributors** और **user.translator\_type**, हटाए जा रहे हैं।

* **favorites** (पोस्ट ऑब्जेक्ट में) और **favourites** (user ऑब्जेक्ट में) दोनों का उपयोग करने के बजाय, X API v2 **like** शब्द का उपयोग करता है।

* X उस परंपरा को अपना रहा है जिसमें बिना मान वाले JSON values (उदाहरण के लिए, **null**) payload में नहीं लिखे जाते। पोस्ट और user attributes केवल तभी शामिल किए जाते हैं, जब उनके मान non-null हों।

**अनुरोध parameters**

निम्नलिखित मानक v1.1 अनुरोध parameters के X API v2 में समकक्ष हैं:

|                     |                                                                     |
| :------------------ | :------------------------------------------------------------------ |
| मानक v1.1           | X API v2                                                            |
| list\_id            | id                                                                  |
| slug                | कोई समकक्ष नहीं                                                     |
| owner\_screen\_name | कोई समकक्ष नहीं                                                     |
| owner\_id           | author\_id मान वाले expansions parameter के साथ अनुरोध किया जाता है |
| since\_id           | कोई समकक्ष नहीं                                                     |
| max\_id             | कोई समकक्ष नहीं                                                     |
| include\_entities   | entities मान वाले tweet.fields parameter के साथ अनुरोध किया जाता है |
| include\_rts        | कोई समकक्ष नहीं                                                     |
| count               | max\_results                                                        |

***

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

<div id="get-posts-from-a-list-v2">
  ### किसी सूची से पोस्ट्स प्राप्त करें (v2)
</div>

<CodeGroup dropdown>
  ```bash cURL theme={null}
  curl "https://api.x.com/2/lists/84839422/tweets?tweet.fields=created_at,public_metrics&max_results=100" \
    -H "Authorization: Bearer $BEARER_TOKEN"
  ```

  ```python Python theme={null}
  import requests

  bearer_token = "YOUR_BEARER_TOKEN"
  url = "https://api.x.com/2/lists/84839422/tweets"

  params = {
      "tweet.fields": "created_at,public_metrics",
      "max_results": 100
  }
  headers = {"Authorization": f"Bearer {bearer_token}"}

  response = requests.get(url, headers=headers, params=params)
  print(response.json())
  ```

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

  client = Client(bearer_token="YOUR_BEARER_TOKEN")

  # किसी सूची से पोस्ट्स प्राप्त करें
  for page in client.lists.get_tweets(
      "84839422",
      tweet_fields=["created_at", "public_metrics"],
      max_results=100
  ):
      for post in page.data:
          print(f"{post.created_at}: {post.text[:50]}...")
  ```

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

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

  // किसी सूची से पोस्ट्स प्राप्त करें
  const paginator = client.lists.getTweets("84839422", {
    tweetFields: ["created_at", "public_metrics"],
    maxResults: 100,
  });

  for await (const page of paginator) {
    page.data?.forEach((post) => {
      console.log(`${post.created_at}: ${post.text?.slice(0, 50)}...`);
    });
  }
  ```
</CodeGroup>
