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

# एकीकरण गाइड

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>;
};

इस पेज में कई टूल्स और महत्वपूर्ण अवधारणाओं के बारे में जानकारी दी गई है, जिन्हें अपने सिस्टम में manage Bookmarks endpoints को इंटिग्रेट करते समय आपको जानना चाहिए। हमने इस पेज को कुछ अलग-अलग सेक्शनों में विभाजित किया है:

* [उपयोगी टूल्स](/hi/x-api/users/blocks/integrate#helpful-tools)
* मुख्य अवधारणाएँ
  * [प्रमाणीकरण](/hi/x-api/users/blocks/integrate#authentication)
  * \[डेवलपर कंसोल, प्रोजेक्ट्स, और ऐप्स]\(/x-api/users/blocks/integrate#Developer Console-projects-and-developer-apps)
  * [रेट लिमिट्स](/hi/x-api/users/blocks/integrate#rate-limits)

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

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

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

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

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

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

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

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

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

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

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

इन विशिष्ट endpoint्स के लिए [OAuth 2.0 Authorization Code Flow with PKCE](/hi/resources/fundamentals/authentication/oauth-2-0/authorization-code) का उपयोग करना आवश्यक है। इसका मतलब है कि सफल अनुरोध करने के लिए आपको keys और उपयोगकर्ता Access Tokens के एक सेट का इस्तेमाल करना होगा। Access Tokens उस उपयोगकर्ता से संबद्ध होने चाहिए, जिसकी ओर से आप अनुरोध कर रहे हैं। अगर आप किसी दूसरे उपयोगकर्ता के लिए Access Tokens का एक सेट जनरेट करना चाहते हैं, तो उन्हें [Authorize URL](/hi/resources/fundamentals/authentication#authorize-url) का उपयोग करके आपके ऐप को अधिकृत करना होगा या स्वयं प्रमाणीकरण करना होगा।

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

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

X API v2 endpoints के साथ काम करने वाले प्रमाणीकरण क्रेडेंशियल्स का एक सेट प्राप्त करने के लिए, आपके पास एक [डेवलपर खाता](/hi/resources/fundamentals/developer-portal) होना चाहिए, उस खाते के भीतर एक [प्रोजेक्ट](/hi/resources/fundamentals/developer-apps) सेट अप होना चाहिए, और उस प्रोजेक्ट के भीतर एक [डेवलपर ऐप](/hi/resources/fundamentals/developer-apps) बनाया होना चाहिए। इसके बाद, आप अपने डेवलपर ऐप में अपनी कीज़ और टोकन देख सकते हैं।

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

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

इन endpoints पर उपयोगकर्ता-स्तर की रेट लिमिट्स लागू होती हैं। इसका मतलब है कि जिस प्रमाणित उपयोगकर्ता की ओर से आप अनुरोध कर रहे हैं, वह किसी भी डेवलपर ऐप में इस endpoint को केवल एक निश्चित संख्या में ही कॉल कर सकता है। GET method के लिए 15 मिनट की विंडो में 180 अनुरोधों की उपयोगकर्ता रेट लिमिट है। Bookmarks lookup endpoint के GET method का उपयोग करने पर, आपको अपनी सबसे हाल की 800 Bookmarked पोस्ट्स वापस मिलेंगी। इसके अलावा, POST और DELETE methods के लिए 15 मिनट में 50 अनुरोधों की उपयोगकर्ता रेट लिमिट है।

***

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

<div id="get-bookmarks">
  #### बुकमार्क प्राप्त करें
</div>

<CodeGroup dropdown>
  ```bash cURL theme={null}
  curl "https://api.x.com/2/users/123/bookmarks?tweet.fields=created_at,public_metrics" \
    -H "Authorization: Bearer $USER_ACCESS_TOKEN"
  ```

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

  client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")

  # उपयोगकर्ता के बुकमार्क प्राप्त करें
  for page in client.bookmarks.get(user_id="123", tweet_fields=["created_at", "public_metrics"]):
      for post in page.data:
          print(f"{post.text} - Likes: {post.public_metrics.like_count}")
  ```

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

  const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });

  // उपयोगकर्ता के बुकमार्क प्राप्त करें
  const paginator = client.bookmarks.get("123", {
    tweetFields: ["created_at", "public_metrics"],
  });

  for await (const page of paginator) {
    page.data?.forEach((post) => {
      console.log(`${post.text} - Likes: ${post.public_metrics?.like_count}`);
    });
  }
  ```
</CodeGroup>

<div id="create-a-bookmark">
  #### बुकमार्क बनाएँ
</div>

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

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

  client = Client(bearer_token="YOUR_USER_ACCESS_TOKEN")

  # किसी पोस्ट को बुकमार्क करें
  response = client.bookmarks.create(user_id="123", tweet_id="1234567890")
  print(response.data)
  ```

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

  const client = new Client({ accessToken: "YOUR_USER_ACCESS_TOKEN" });

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