डेवलपर की गाइड: प्रोटोकॉल

अहम जानकारी: हम 30 सितंबर, 2024 से, Google Data API के 2.0 वर्शन के साथ काम करना बंद कर देंगे. काम करते रहने के लिए, उन ऐप्लिकेशन को अपडेट करें जो v2.0 Google Data API का इस्तेमाल करके, एपीआई के नए वर्शन पर काम करते हैं. सबसे नए वर्शन के लिए, बाईं ओर के नेविगेशन बार में दिए गए लिंक का इस्तेमाल करें. ध्यान दें: कुछ जीईटी अनुरोध (जैसे कि लिस्टिंग पोस्ट), फ़ीड के यूआरएल के तौर पर काम करते रहेंगे. हालांकि, उनके काम करने के तरीके में मामूली अंतर होगा. ज़्यादा जानकारी के लिए, Blogger के सहायता केंद्र का दस्तावेज़ देखें.

Blogger डेटा एपीआई क्लाइंट ऐप्लिकेशन को, Google Data API फ़ीड के रूप में Blogger के कॉन्टेंट को देखने और अपडेट करने की अनुमति देता है.

आपका क्लाइंट ऐप्लिकेशन, नई ब्लॉग पोस्ट बनाने, मौजूदा ब्लॉग पोस्ट में बदलाव करने या उन्हें मिटाने, और किसी खास शर्त से मेल खाने वाली ब्लॉग पोस्ट के लिए क्वेरी करने के लिए, Blogger Data API का इस्तेमाल कर सकता है.

Blogger डेटा एपीआई की क्षमताओं के बारे में कुछ जानकारी देने के अलावा, इस दस्तावेज़ में रॉ एक्सएमएल और एचटीटीपीएस का इस्तेमाल करके, बेसिक Data API इंटरैक्शन के उदाहरण दिए गए हैं. इस दस्तावेज़ को पढ़ने के बाद, हो सकता है कि आप हमारी क्लाइंट लाइब्रेरी का इस्तेमाल करके, एपीआई के साथ इंटरैक्ट करने के बारे में ज़्यादा जानना चाहें. इसके लिए, आपको इस डेवलपर की गाइड में प्रोग्रामिंग की भाषा वाले सेक्शन पढ़ने होंगे.

विषय सूची

दर्शक

यह दस्तावेज़ उन प्रोग्रामर के लिए है जो ऐसे क्लाइंट ऐप्लिकेशन लिखना चाहते हैं जो एक्सएमएल और एचटीटीपीएस का इस्तेमाल करके, Blogger से इंटरैक्ट कर सकें.

यह दस्तावेज़ यह मानता है कि आपको Google Data API प्रोटोकॉल से जुड़ी सामान्य जानकारी मिल गई है.

अगर UNIX सिस्टम का इस्तेमाल किया जा रहा है और आपको इस दस्तावेज़ में दिए गए उदाहरणों को बिना कोई कोड लिखे आज़माना है, तो UNIX कमांड लाइन यूटिलिटी curl या wget काम की हो सकती हैं. ज़्यादा जानकारी के लिए, इन यूटिलिटी के मैन्युअल पेज देखें.

Blogger Data API रेफ़रंस की जानकारी के लिए, प्रोटोकॉल रेफ़रंस गाइड देखें.

प्रारंभ करना

Blogger खाता बनाना

जांच के लिए, Blogger खाते के लिए साइन अप करें. Blogger, Google खातों का इस्तेमाल करता है. इसलिए, अगर आपके पास पहले से Google खाता है, तो आपको कुछ और करने की सुविधा मिलती है.

अनुरोधों को अनुमति देना

जब आपका ऐप्लिकेशन, उपयोगकर्ता के गैर-सार्वजनिक डेटा के लिए अनुरोध करता है, तो उसमें एक अनुमति टोकन शामिल होना चाहिए. इस टोकन से Google आपके ऐप्लिकेशन की पहचान भी करता है.

अनुमति देने के प्रोटोकॉल के बारे में जानकारी

हमारा सुझाव है कि अनुरोधों को अनुमति देने के लिए, OAuth 2.0 का इस्तेमाल करें.

Blogger GData API, अनुमति देने के पुराने विकल्प भी काम करता है, जैसे कि OAuth 1.0, AuthSub, या ClientLogin. हालांकि, ज़्यादातर मामलों में हम इन विकल्पों के इस्तेमाल का सुझाव नहीं देते. अगर आपके ऐप्लिकेशन में पहले से ये विकल्प इस्तेमाल किए जा रहे हैं, तो हमारा सुझाव है कि अगर हो सके, तो OAuth 2.0 पर माइग्रेट करें.

अगर आपके ऐप्लिकेशन में, अनुमति से जुड़ी कुछ असामान्य शर्तें हैं, जैसे कि एक ही समय में लॉग इन करना और डेटा ऐक्सेस का अनुरोध करना (हाइब्रिड) या पूरे डोमेन में अधिकार देने वाली संस्था (2LO) का इस्तेमाल करना, तो फ़िलहाल OAuth 2.0 टोकन का इस्तेमाल नहीं किया जा सकता. ऐसे मामलों में, आपको OAuth 1.0 टोकन का इस्तेमाल करना होगा.

OAuth 2.0 की मदद से अनुरोधों को अनुमति देना

गैर-सार्वजनिक उपयोगकर्ता डेटा के लिए Blogger GData API को किए जाने वाले अनुरोधों को किसी पुष्टि किए गए उपयोगकर्ता की ओर से अनुमति दी जानी चाहिए.

OAuth 2.0 के लिए अनुमति देने की प्रक्रिया या "फ़्लो" का ब्यौरा इस बात पर निर्भर करता है कि आप किस तरह का ऐप्लिकेशन लिख रहे हैं. नीचे दी गई सामान्य प्रक्रिया सभी तरह के आवेदनों पर लागू होती है:

  1. ऐप्लिकेशन बनाने के बाद, आपको उसे Google के साथ रजिस्टर करना होता है. इसके बाद, Google आपको क्लाइंट आईडी और क्लाइंट सीक्रेट जैसी जानकारी देगा जिसकी आपको बाद में ज़रूरत होगी.
  2. जब आपके ऐप्लिकेशन को उपयोगकर्ता के डेटा के ऐक्सेस की ज़रूरत होती है, तब वह Google से डेटा के खास स्कोप का अनुरोध करता है.
  3. Google, उपयोगकर्ता को एक OAuth डायलॉग दिखाता है, जिसमें उनसे आपके ऐप्लिकेशन को उनके कुछ डेटा का अनुरोध करने की अनुमति देने के लिए कहा जाता है.
  4. अगर उपयोगकर्ता यह अनुमति देता है, तो Google आपके ऐप्लिकेशन को कुछ समय के लिए इस्तेमाल किया जा सकने वाला ऐक्सेस टोकन देता है.
  5. आपका ऐप्लिकेशन, उपयोगकर्ता के डेटा को ऐक्सेस करने का अनुरोध करता है. इसके लिए, अनुरोध में ऐक्सेस टोकन अटैच किया जाता है.
  6. अगर Google को लगता है कि आपका अनुरोध और टोकन मान्य हैं, तो वह अनुरोध किया गया डेटा दिखाता है.

कुछ तरीकों में दूसरे चरण भी शामिल हो सकते हैं, जैसे कि नया ऐक्सेस टोकन पाने के लिए रीफ़्रेश टोकन का इस्तेमाल करना. अलग-अलग तरह के ऐप्लिकेशन के लिए फ़्लो के बारे में ज़्यादा जानकारी के लिए, Google का OAuth 2.0 दस्तावेज़ देखें.

Blogger GData API के लिए OAuth 2.0 दायरे की जानकारी यहां दी गई है:

https://www.blogger.com/feeds/

OAuth 2.0 का इस्तेमाल करके ऐक्सेस का अनुरोध करने के लिए, आपके ऐप्लिकेशन में दायरे की जानकारी के साथ-साथ, वह जानकारी भी होनी चाहिए जो Google ऐप्लिकेशन रजिस्ट्रेशन के दौरान देता है (जैसे कि क्लाइंट आईडी और/या क्लाइंट सीक्रेट).

सलाह: Google API की क्लाइंट लाइब्रेरी, अनुमति देने की कुछ प्रोसेस आपके लिए खुद मैनेज कर सकती हैं. ये फ़ॉर्मैट, कई तरह की प्रोग्रामिंग भाषाओं के लिए उपलब्ध हैं. ज़्यादा जानकारी के लिए, लाइब्रेरी और सैंपल पेज देखें.

वर्शन तय करना

Blogger Data API का इस्तेमाल करके भेजे जाने वाले हर अनुरोध में, एपीआई का वर्शन 2 बताया जाना चाहिए.

वर्शन नंबर बताने के लिए, GData-Version एचटीटीपी हेडर का इस्तेमाल करें:

GData-Version: 2

इसके अलावा, अगर एचटीटीपी हेडर सेट नहीं किए जा सकते, तो यूआरएल में v=2 को क्वेरी पैरामीटर के तौर पर दिखाया जा सकता है. हालांकि, जहां मुमकिन हो वहां एचटीटीपी हेडर को प्राथमिकता दी जाती है.

ध्यान दें: क्लाइंट लाइब्रेरी, अपने-आप ही सही वर्शन हेडर उपलब्ध कराती हैं. इसलिए, क्लाइंट लाइब्रेरी का इस्तेमाल करते समय v=2 क्वेरी पैरामीटर का इस्तेमाल न करें.

ब्लॉग की सूची फिर से पाना

Blogger डेटा एपीआई एक ऐसा फ़ीड उपलब्ध कराता है जिसमें किसी खास उपयोगकर्ता के ब्लॉग की सूची होती है. इस फ़ीड को "मेटाफ़ीड" कहा जाता है.

ब्लॉग की सूची फिर से पाने के लिए नीचे दिए गए यूआरएल को एक एचटीटीपी GET भेजें:

https://www.blogger.com/feeds/profileID/blogs

जहां प्रोफ़ाइल आईडी, उपयोगकर्ता के प्रोफ़ाइल पेज के यूआरएल में मौजूद नंबर होता है.

ध्यान दें: यूज़र आईडी की जगह default भी इस्तेमाल किया जा सकता है. इस यूज़र आईडी से Blogger को उस उपयोगकर्ता के ब्लॉग की सूची दिखाने के लिए कहा जाता है जिसके क्रेडेंशियल, अनुरोध के साथ दिए जाते हैं.

मेटाफ़ीड में कुछ इस तरह से एंट्री दिख सकती है:

<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
</entry>

इनमें से हर एलिमेंट का क्या मतलब है, इस बारे में जानने के लिए, Google Data API प्रोटोकॉल रेफ़रंस दस्तावेज़ या ऐटम 1.0 की खास बातें देखें.

अगर किसी वजह से आपका अनुरोध पूरा नहीं होता है, तो Blogger आपके लिए एक अलग स्टेटस कोड दिखा सकता है. एचटीटीपी स्टेटस कोड के बारे में ज़्यादा जानकारी, Google Data API प्रोटोकॉल रेफ़रंस दस्तावेज़ में भी उपलब्ध है.

पोस्ट बनाना

Blogger डेटा एपीआई आपको नई ब्लॉग एंट्री बनाने और पब्लिश करने के साथ-साथ एंट्री के ड्राफ़्ट बनाने की सुविधा भी देता है.

ब्लॉग पोस्ट पब्लिश करना

पुष्टि करने के बाद, नई ब्लॉग एंट्री पब्लिश की जा सकती हैं.

सबसे पहले, पब्लिश करने के लिए पोस्ट का एक्सएमएल फ़ॉर्मैट बनाएं. यह एक्सएमएल, ऐटम <entry> एलिमेंट के रूप में होना चाहिए, जो कुछ ऐसा दिख सकता है:

<entry xmlns='http://www.w3.org/2005/Atom'>
  <title type='text'>Marriage!</title>
  <content type='xhtml'>
    <div xmlns="http://www.w3.org/1999/xhtml">
      <p>Mr. Darcy has <em>proposed marriage</em> to me!</p>
      <p>He is the last man on earth I would ever desire to marry.</p>
      <p>Whatever shall I do?</p>
    </div>
  </content>
  <category scheme="http://www.blogger.com/atom/ns#" term="marriage" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
</entry>

ध्यान दें: फ़िलहाल, पोस्ट के लिए अपनी पसंद के मुताबिक लेखक सेट नहीं किया जा सकता. सभी नई पोस्ट ऐसी नज़र आएंगी, जैसे कि उन्हें मौजूदा पुष्टि वाले उपयोगकर्ता ने ही बनाया हो.

इस एंट्री को पब्लिश करने के लिए, उसे ब्लॉग के पोस्ट के यूआरएल पर इस तरह भेजें. सबसे पहले, application/atom+xml कॉन्टेंट टाइप का इस्तेमाल करके, नए POST अनुरोध के मुख्य हिस्से में, ऐटम <entry> एलिमेंट डालें. इसके बाद, मेटाफ़ीड में ब्लॉग पोस्ट का यूआरएल ढूंढें. इसके लिए, <link> एलिमेंट ढूंढें जहां rel एट्रिब्यूट के आखिर में #post आता है. ब्लॉग की पोस्ट का यूआरएल, इस एलिमेंट के href एट्रिब्यूट के तौर पर दिया गया है. यह इस फ़ॉर्मैट में होता है:

https://www.blogger.com/feeds/blogID/posts/default

ध्यान दें: यह यूआरएल वही यूआरएल है जो <link rel="service.post"> टैग में मौजूद यूआरएल है. यह ब्लॉग के ऐसे वर्शन के <head> सेक्शन में दिखता है जिसे कोई भी व्यक्ति आसानी से पढ़ सकता है.

Blogger आपकी भेजी गई एंट्री का इस्तेमाल करके एक ब्लॉग पोस्ट बनाता है. इसके बाद, <entry> एलिमेंट के रूप में नई पोस्ट की एक कॉपी के साथ एक एचटीटीपी 201 CREATED स्टेटस कोड दिखाता है. भेजी गई एंट्री वही है जो आपने भेजी थी. हालांकि, इसमें Blogger से जोड़े गए कई एलिमेंट भी शामिल हैं, जैसे कि <id> एलिमेंट.

अगर किसी वजह से आपका अनुरोध पूरा नहीं होता है, तो Blogger आपके लिए एक अलग स्टेटस कोड दिखा सकता है. स्टेटस कोड के बारे में जानकारी पाने के लिए, Google Data API प्रोटोकॉल से जुड़ा दस्तावेज़ पढ़ें.

ड्राफ़्ट ब्लॉग पोस्ट बनाना

ड्राफ़्ट पोस्ट सार्वजनिक पोस्ट की तरह ही बनाई जाती हैं, लेकिन इनमें <app:control> एलिमेंट जोड़ा जाता है, जिससे यह पता चलता है कि पोस्ट को (अभी तक) पब्लिश नहीं किया जाना चाहिए.

इस <app:control> एलिमेंट में चाइल्ड के तौर पर, एक <app:draft> एलिमेंट होना चाहिए:

<app:control xmlns:app='http://www.w3.org/2007/app'>
  <app:draft>yes</app:draft>
</app:control>

पोस्ट की पहचान ड्राफ़्ट के तौर पर की जाए, इसके लिए <app:draft> एलिमेंट में शामिल डेटा, yes स्ट्रिंग होनी चाहिए.

ड्राफ़्ट पोस्ट को वापस पाकर, <app:draft> एलिमेंट के डेटा को स्ट्रिंग no पर सेट करके, और फिर पोस्ट को अपडेट करके, मौजूदा ड्राफ़्ट ब्लॉग पोस्ट को पब्लिश की गई पोस्ट में बदला जा सकता है. पोस्ट को पाने और अपडेट करने की जानकारी अगले दो सेक्शन में दी गई है.

ध्यान दें: ऐटम पब्लिशिंग प्रोटोकॉल के बारे में ज़्यादा जानने के लिए, आरएफ़सी 5023 देखें. इसमें <app:control> और <app:draft> नेमस्पेस भी शामिल हैं.

पोस्ट वापस लाई जा रही हैं

नीचे दिए सेक्शन में, क्वेरी पैरामीटर के साथ और उसके बिना ब्लॉग पोस्ट की सूची वापस पाने का तरीका बताया गया है.

आप पुष्टि किए बिना Blogger के सार्वजनिक फ़ीड के लिए क्वेरी कर सकते हैं. इसलिए, किसी सार्वजनिक ब्लॉग से ब्लॉग पोस्ट फ़ेच करने पर, आपको ऑथराइज़ेशन पैरामीटर सेट करने की ज़रूरत नहीं होती.

सभी ब्लॉग पोस्ट वापस लाई जा रही हैं

उपयोगकर्ता की पोस्ट वापस पाने के लिए, ब्लॉग के फ़ीड यूआरएल पर एक एचटीटीपी GET अनुरोध भेजें. इसके बाद, Blogger सही ब्लॉग एंट्री वाला फ़ीड दिखाता है. उदाहरण के लिए, lila@gmail.com के लिए ब्लॉग पोस्ट की सूची पाने के लिए, Blogger को नीचे दिया गया एचटीटीपी अनुरोध भेजें (blogID की जगह सही वैल्यू के साथ):

GET https://www.blogger.com/feeds/blogID/posts/default

इसके बाद, Blogger एक एचटीटीपी 200 OK स्टेटस कोड और ब्लॉग पोस्ट दिखाने वाला स्टैंडर्ड ऐटम 1.0 फ़ीड दिखाता है.

नीचे, सिर्फ़ एक पोस्ट वाले ब्लॉग के फ़ीड का उदाहरण दिया गया है. ध्यान दें कि हमने इस उदाहरण में थोड़ा बदलाव किया है, ताकि लोग इसे आसानी से पढ़ सकें. खास तौर पर, Blogger के असल फ़ीड में असली आईडी और यूआरएल होते हैं.

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>Quite disagreeable</title>
    <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

किसी ब्लॉग पोस्ट को फिर से फ़ेच करना

अगर आप किसी ऐसी पोस्ट को वापस पाना चाहते हैं जिसे आपने पहले वापस लाया है, तो आप Blogger को उस पोस्ट को सिर्फ़ तभी भेजने के लिए कह सकते हैं, जब पिछली बार उसे वापस पाने के बाद आपने कोई बदलाव किया हो.

इस तरह के शर्त के साथ डेटा वापस पाने के लिए, एक एचटीटीपी GET अनुरोध भेजें, जिसमें एक एचटीटीपी If-None-Match हेडर शामिल हो. हेडर में, उस एंट्री के ETag के बारे में बताएं जो आपको <entry> एलिमेंट के gd:etag एट्रिब्यूट में मिल सकता है.

उदाहरण के लिए:

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

यह अनुरोध मिलने पर, यह जांच करता है कि आपने जिस एंट्री का अनुरोध किया है उसमें वही ETag है जो आपने बताया है. अगर ETag मेल खाते हैं, तो इसका मतलब है कि एंट्री में कोई बदलाव नहीं हुआ है और Blogger, एचटीटीपी 304 Not Modified स्टेटस कोड दिखाता है.

अगर ETag मेल नहीं खाते हैं, तो इसका मतलब है कि पिछली बार आपके अनुरोध के बाद से, एंट्री में बदलाव किया गया है और Blogger, इस एंट्री को दिखाता है.

Eटैग के बारे में ज़्यादा जानकारी के लिए, Google Data API रेफ़रंस गाइड देखें.

क्वेरी पैरामीटर का इस्तेमाल करके पोस्ट फ़ेच की जा रही हैं

Blogger Data API से ऐसी एंट्री के सेट का अनुरोध किया जा सकता है जो किसी खास शर्त से मेल खाती हों. उदाहरण के लिए, किसी दी गई तारीख की सीमा में ब्लॉग पोस्ट को पब्लिश या अपडेट करने का अनुरोध करना.

उदाहरण के लिए, तारीख की सीमा वाली क्वेरी भेजने के लिए, अनुरोध के यूआरएल में published-min और published-max पैरामीटर जोड़ें. 16 मार्च, 2008 से 24 मार्च, 2008 के बीच बनाई गई सभी ब्लॉग प्रविष्टियां प्राप्त करने के लिए, ब्लॉग के फ़ीड URL पर एक HTTP अनुरोध भेजें:

GET https://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59

GET अनुरोध भेजने पर, Blogger एक एचटीटीपी 200 OK स्टेटस कोड और ऐसे फ़ीड दिखाता है जिसमें सभी ब्लॉग पोस्ट आपकी तय की गई तारीख की सीमा में बनाई गई थीं.

updated-min और updated-max पैरामीटर का इस्तेमाल, किसी दी गई रेंज में सभी ब्लॉग एंट्री को अपडेट करने के लिए भी किया जा सकता है. हालांकि, ध्यान रखें कि जब तक orderby पैरामीटर updated पर सेट न हो, तब तक इन पैरामीटर को अनदेखा किया जाता है.

Blogger Data API, इन क्वेरी पैरामीटर के साथ काम करता है:

वैकल्पिक
किस तरह का फ़ीड दिखाना है, जैसे कि atom (डिफ़ॉल्ट) या rss.
/category
फ़ीड के नतीजों को फ़िल्टर करने के लिए कैटगरी तय करता है. इन्हें लेबल भी कहा जाता है. उदाहरण के लिए, https://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie, Fritz और Laurie, दोनों लेबल वाली एंट्री दिखाता है.
max-results
लौटाए जाने वाले प्रविष्टियों की अधिकतम संख्या.
Orderby
वह क्रम जिसमें एंट्री दिखाई जाती हैं, जैसे कि lastmodified (डिफ़ॉल्ट), starttime या updated.
कम से कम, पब्लिश किया गया-ज़्यादा से ज़्यादा
पब्लिकेशन की तारीखों के लिए सीमाएं.
start-index
पहले नतीजे को फिर से हासिल किए जाने वाले नतीजे का 1-आधारित इंडेक्स (पेजिंग के लिए).
अपडेट किया-कम से कम, अपडेट किया गया-ज़्यादा से ज़्यादा
एंट्री अपडेट करने की तारीखें. इन क्वेरी पैरामीटर को तब तक अनदेखा किया जाता है, जब तक orderby पैरामीटर updated पर सेट न हो.
पाथ
किसी पोस्ट के लिए स्थायी लिंक. उदाहरण के लिए, http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html URL वाली पोस्ट के लिए, स्थायी लिंक /2011/08/bloggers-fresh-new-look.html है.
q
पूरे टेक्स्ट वाली क्वेरी स्ट्रिंग. इससे आपको ब्लॉग से मिलती-जुलती पोस्ट खोजने की सुविधा मिलती है.

क्वेरी पैरामीटर के बारे में ज़्यादा जानकारी के लिए, Blogger Data API रेफ़रंस गाइड और Google Data API रेफ़रंस गाइड देखें.

पोस्ट अपडेट की जा रही हैं

किसी मौजूदा ब्लॉग पोस्ट को अपडेट करने के लिए, सबसे पहले उस एंट्री को वापस लाएं जिसे अपडेट करना है. इसके बाद, उसमें बदलाव किया जाता है. इसके बाद, पोस्ट के बदलाव करने वाले यूआरएल पर, PUT का अनुरोध भेजा जाता है. इसमें, अपडेट की गई एंट्री शामिल होती है. पक्का करें कि आपकी PUT एंट्री में मौजूद <id> वैल्यू, मौजूदा एंट्री के <id> से पूरी तरह मैच करती हो.

बदलाव करने के यूआरएल को नीचे दी गई एंट्री में हाइलाइट किया गया है:

<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-11-08T18:10:00.000-08:00</published>
  <updated>2006-11-08T18:10:14.954-08:00</updated>
  <title type='text'>Quite disagreeable</title>
  <content type='html'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</content>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default/postID'>
  </link>
  <link rel='edit' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default/postID'>
  </link>
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" />
  <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" />
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

अहम जानकारी: यह पक्का करने के लिए कि किसी अपडेट की गई एंट्री को PUT किया जा रहा हो, तब आप उस सभी एक्सएमएल को सुरक्षित रखें जो आपको Blogger से फ़ेच करते समय मौजूद था. ऐसा नहीं करने पर, जब हम नई चीज़ें लागू करते हैं और फ़ीड में <new-awesome-feature> एलिमेंट शामिल करते हैं, तो आपका क्लाइंट उन्हें वापस नहीं करेगा और आपके उपयोगकर्ता शामिल नहीं हो पाएंगे. Google Data API क्लाइंट लाइब्रेरी सभी इसे सही तरीके से मैनेज करती हैं. इसलिए, अगर किसी ऐसी लाइब्रेरी का इस्तेमाल किया जा रहा है जिसका इस्तेमाल करने के लिए आप पूरी तरह से तैयार हैं, तो ऐसा करें.

ध्यान दें: फ़िलहाल, पोस्ट से जुड़े लेखक के डेटा में बदलाव नहीं किया जा सकता.

समस्या हल करने के लिए सलाह: कुछ फ़ायरवॉल एचटीटीपी PUT मैसेज को ब्लॉक कर देते हैं. इसके बारे में जानने के लिए, POST अनुरोध में X-HTTP-Method-Override: PUT हेडर को शामिल किया जा सकता है. ज़्यादा जानकारी के लिए, Google Data API प्रोटोकॉल की बुनियादी बातें वाला दस्तावेज़ देखें.

पोस्ट मिटाई जा रही हैं

किसी पोस्ट को मिटाने के लिए, पोस्ट के बदलाव करने के यूआरएल पर DELETE अनुरोध भेजें. यह वही यूआरएल है जिसका इस्तेमाल पोस्ट को अपडेट करने के लिए किया जाता है.

समस्या हल करने के लिए सलाह: कुछ फ़ायरवॉल एचटीटीपी DELETE मैसेज को ब्लॉक कर देते हैं. इसके बारे में जानने के लिए, POST अनुरोध में X-HTTP-Method-Override: DELETE हेडर को शामिल किया जा सकता है. ज़्यादा जानकारी के लिए, Google Data API प्रोटोकॉल की बुनियादी बातें वाला दस्तावेज़ देखें.

टिप्पणियां

Blogger डेटा एपीआई से टिप्पणियां बनाई जा सकती हैं, उन्हें वापस पाया जा सकता है, और मिटाया जा सकता है. टिप्पणियों को अपडेट नहीं किया जा सकता (न ही यह वेब इंटरफ़ेस में उपलब्ध है).

टिप्पणियां करना

कोई टिप्पणी पोस्ट करने के लिए, ऐटम <entry> एलिमेंट बनाएं, जैसा कि यहां बताया गया है:

  <entry xmlns='http://www.w3.org/2005/Atom'>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
  </entry>

इस टिप्पणी को पब्लिश करने के लिए, ऐटम <entry> एलिमेंट को नए POST अनुरोध के मुख्य हिस्से में डालें. इसके लिए, application/atom+xml कॉन्टेंट टाइप का इस्तेमाल करें. इसके बाद, POST अनुरोध को Blogger के सही यूआरएल पर भेजें:

POST https://www.blogger.com/feeds/blogID/postID/comments/default

ध्यान दें: फ़िलहाल, सिर्फ़ उस ब्लॉग पर टिप्पणियां पोस्ट की जा सकती हैं जिसका मालिकाना हक पुष्टि किए गए उपयोगकर्ता के पास हो.

ध्यान दें: फ़िलहाल, टिप्पणियों के लिए पसंद के मुताबिक लेखक सेट नहीं किया जा सकता. सभी नई टिप्पणियां इस तरह से दिखेंगी जैसे कि वे मौजूदा उपयोगकर्ता ने ही की हों.

टिप्पणियां वापस लाई जा रही हैं

किसी खास पोस्ट पर की गई टिप्पणियां वापस पाई जा सकती हैं. इसके लिए, इस पोस्ट के टिप्पणी फ़ीड के यूआरएल पर GET भेजें:

GET https://www.blogger.com/feeds/blogID/postID/comments/default

इसके अलावा, ब्लॉग के टिप्पणी फ़ीड के यूआरएल का इस्तेमाल करके, सभी पोस्ट पर की गई टिप्पणियां देखी जा सकती हैं:

GET https://www.blogger.com/feeds/blogID/comments/default

इन अनुरोधों से ऐसा टिप्पणी फ़ीड दिखता है जो कुछ ऐसा दिखता है:

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/postID/comments/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/posts/default/postID'
      type='text/html' />
  </entry>
</feed>

टिप्पणियां मिटाई जा रही हैं

किसी टिप्पणी को मिटाने के लिए, उसमें बदलाव करने वाले यूआरएल पर DELETE अनुरोध भेजें. यह यूआरएल ऊपर दिए गए टिप्पणी फ़ीड में हाइलाइट किया गया है.

निर्यात प्रारूप

Blogger की मदद से लोग, Blogger की एक्सपोर्ट फ़ाइल का इस्तेमाल करके अपने ब्लॉग को एक्सपोर्ट और इंपोर्ट कर सकते हैं. इस एक्सपोर्ट फ़ाइल में, एक ब्लॉग की सभी पोस्ट और टिप्पणियां मौजूद हैं. एक्सपोर्ट फ़ाइल का फ़ॉर्मैट ठीक वैसा ही होता है जैसा ऐटम फ़ॉर्मैट में होता है. इस फ़ॉर्मैट के बारे में पोस्ट और टिप्पणियों को वापस पाने से जुड़े सेक्शन में बताया गया है. इस एक्सपोर्ट फ़ाइल में, पोस्ट फ़ीड का कॉन्टेंट और टिप्पणियां फ़ीड का कॉन्टेंट एक ही दस्तावेज़ में होगा.

एक्सपोर्ट फ़ॉर्मैट का इस्तेमाल करके ब्लॉग का डेटा एक्सपोर्ट या इंपोर्ट करने के लिए, ब्लॉग के सेटिंग पेज पर जाएं. Data API का इस्तेमाल करके किसी ब्लॉग की एक्सपोर्ट फ़ाइल वापस पाने के लिए, इस यूआरएल का इस्तेमाल करें:

GET https://www.blogger.com/feeds/blogID/archive

एक्सपोर्ट फ़ाइल इंपोर्ट करने के लिए, यहां दिए गए यूआरएल के लिए POST अनुरोध बनाएं. इसमें एक्सपोर्ट फ़ाइल के कॉन्टेंट को, अनुरोध किए गए डेटा के तौर पर और application/atom+xml कॉन्टेंट टाइप के तौर पर शामिल किया जाएगा:

POST https://www.blogger.com/feeds/blogID/archive/full

ऊपर दिए गए कोई भी यूआरएल, क्वेरी पैरामीटर के साथ काम नहीं करता. दोनों अनुरोधों में पुष्टि करने से जुड़ी जानकारी भी शामिल होनी चाहिए. साथ ही, सिर्फ़ ब्लॉग एडमिन इन फ़ीड यूआरएल का इस्तेमाल करके ब्लॉग को इंपोर्ट/एक्सपोर्ट कर सकते हैं.

ध्यान दें: अगर अपनी Blogger एक्सपोर्ट फ़ाइल बनाई जा रही है, तो फ़िलहाल पोस्ट और टिप्पणी की एंट्री को क्रम से लगाने पर एक पाबंदी है. Blogger एक्सपोर्ट फ़ाइल में सबसे पहले सभी पोस्ट और फिर सभी टिप्पणियां लिस्ट होंगी. पोस्ट और टिप्पणी की एंट्री इंटरसेप्ट की जा सकती है. हालांकि, ऐसा तब ही हो सकता है, जब टिप्पणी की एंट्री, पोस्ट के लिए की गई पोस्ट के बाद हो.

एक्सपोर्ट फ़ाइल में, Blogger ऐटम के फ़ॉर्मैट का इस्तेमाल कैसे करता है, इस बारे में ज़्यादा जानने के लिए, प्रोटोकॉल रेफ़रंस गाइड देखें.

वापस सबसे ऊपर जाएं