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

अहम जानकारी: यह इस पेज का पुराना वर्शन है. नए वर्शन के लिए, बाईं ओर के नेवबार में दिए गए लिंक इस्तेमाल करें.

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

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

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

कॉन्टेंट

ऑडियंस

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

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

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

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

शुरू करना

Blogger खाता बनाना

हो सकता है कि आप Blogger खाते का इस्तेमाल करें. Blogger, Google खातों का इस्तेमाल करता है. इसलिए, अगर पहले से ही एक Google खाता है, आप पूरी तरह से तैयार हैं.

Blogger की सेवा की पुष्टि करना

Blogger Data API का इस्तेमाल करके, सार्वजनिक और निजी फ़ीड, दोनों को ऐक्सेस किया जा सकता है. सार्वजनिक फ़ीड के लिए किसी प्रमाणीकरण की आवश्यकता नहीं होती, लेकिन वे केवल पढ़ने के लिए होती हैं. अगर आपको नहीं चाहते हैं, तो अनुरोध करने से पहले आपके क्लाइंट को प्रमाणित करना होगा निजी फ़ीड. यह दो तरीकों में से किसी एक का इस्तेमाल करके पुष्टि कर सकता है: AuthSub प्रॉक्सी पुष्टि या ClientLogin उपयोगकर्ता नाम/पासवर्ड की पुष्टि करना.

Google Data API की मदद से पुष्टि करने के बारे में ज़्यादा जानने के लिए, पुष्टि करने से जुड़ा दस्तावेज़ देखें.

इस दस्तावेज़ के बाद के सेक्शन में दिए गए ज़्यादातर सैंपल को लगता है कि आप सही तरीके से पुष्टि करें.

AuthSub प्रॉक्सी की पुष्टि

AuthSub प्रॉक्सी प्रमाणीकरण का उपयोग उन वेब ऐप्लिकेशन द्वारा किया जाता है जिन्हें की पुष्टि करने के लिए कहा जा सकता है. वेबसाइट ऑपरेटर और क्लाइंट कोड की पास Blogger उपयोगकर्ता के उपयोगकर्ता नाम और पासवर्ड का ऐक्सेस नहीं है; इसके बजाय, क्लाइंट को खास AuthSub टोकन मिलते हैं, जो क्लाइंट को काम करने की अनुमति देते हैं अपने मालिकाना हक ट्रांसफ़र करने के लिए कहें. ज़्यादा जानकारी के लिए, AuthSub दस्तावेज़ देखें.

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

AuthSubRequest यूआरएल में ये क्वेरी पैरामीटर शामिल होते हैं:

अगली
उस पेज का यूआरएल जिस पर Google को पुष्टि करने के बाद उपयोगकर्ता को रीडायरेक्ट करना चाहिए.
दायरा
इससे पता चलता है कि ऐप्लिकेशन, Blogger फ़ीड को ऐक्सेस करने के लिए टोकन का अनुरोध कर रहा है. http://www.blogger.com/feeds/ वाली स्कोप स्ट्रिंग का इस्तेमाल किया जा सकता है. यह यूआरएल कोड में बदला गया है.
सुरक्षित
इससे पता चलता है कि क्लाइंट, सुरक्षित टोकन का अनुरोध कर रहा है या नहीं.
सत्र
इससे पता चलता है कि लौटाए गए टोकन को, कई बार इस्तेमाल किए जा सकने वाले (सेशन) टोकन से बदला जा सकता है या नहीं.

AuthSubRequest का यूआरएल ऐसा दिख सकता है:

https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html

उपयोगकर्ता, Google की साइट पर दिए गए लिंक पर जाता है और अपने Google खाते की पुष्टि करता है.

उपयोगकर्ता की पुष्टि करने के बाद, AuthSub सिस्टम उसे उस यूआरएल पर रीडायरेक्ट करता है जिसे आपने AuthSubRequest यूआरएल के next क्वेरी पैरामीटर में बताया है. AuthSub सिस्टम उस URL में एक प्रमाणीकरण टोकन जोड़ता है, token क्वेरी पैरामीटर की वैल्यू. उदाहरण के लिए:

http://www.example.com/welcome.html?token=yourAuthToken

यह टोकन वैल्यू, एक बार इस्तेमाल होने वाले AuthSub टोकन को दिखाती है. इस उदाहरण में, क्योंकि session=1 में बताया गया है, इसलिए इस टोकन को किसी AuthSubSessionToken को कॉल करके AuthSub सेशन टोकन सेवा के एक बार इस्तेमाल होने वाले टोकन को अनुमति देने वाले हेडर में इस तरह शामिल करें:

GET /accounts/AuthSubSessionToken HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourAuthToken"
User-Agent: Java/1.5.0_06
Host: www.google.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

AuthSubsessionToken सेवा के जवाब में एक Token हेडर शामिल है जिसमें सेशन टोकन और Expiration हेडर होता है बताता है कि टोकन कितने समय तक मान्य रहेगा.

इसके बाद, आपका ऐप्लिकेशन Blogger के साथ होने वाले अगले इंटरैक्शन के Authorization हेडर में, सेशन टोकन की वैल्यू का इस्तेमाल कर सकता है.

यहां एचटीटीपी अनुरोध का एक उदाहरण दिया गया है. इसमें एक असुरक्षित टोकन शामिल है. Blogger को भेज सकता है:

GET /feeds/blogID/blogs/posts/defaults HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: AuthSub token="yourSessionToken"
User-Agent: Java/1.5.0_06
Host: www.blogger.com
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive

ClientLogin उपयोगकर्ता नाम/पासवर्ड की पुष्टि

अगर आपका क्लाइंट स्टैंडअलोन है और वह एक ही उपयोगकर्ता का इस्तेमाल करता है, तो ClientLogin की पुष्टि करने की सुविधा का इस्तेमाल करें "इंस्टॉल किया गया" (जैसे कि डेस्कटॉप ऐप्लिकेशन). ClientLogin प्रणाली का उपयोग करके प्रमाणीकरण टोकन, कोई POST भेजें को अनुरोध भेजें:

https://www.google.com/accounts/ClientLogin

POST बॉडी में क्वेरी पैरामीटर का एक सेट होना चाहिए, जो application/x-www-form-urlencoded कॉन्टेंट टाइप का इस्तेमाल करके, एचटीएमएल फ़ॉर्म से पास किए गए पैरामीटर जैसे दिखते हों. ये पैरामीटर हैं:

ईमेल
उपयोगकर्ता का ईमेल पता.
Passwd
उपयोगकर्ता का पासवर्ड.
सेवा
Blogger सेवा का नाम blogger है. (सेवा के अन्य नामों के लिए, सेवा के नाम की सूची देखें.)
accountType
Blogger API का इस्तेमाल करते समय, इसे हमेशा GOOGLE पर सेट किया जाना चाहिए. इस पैरामीटर को सेट न करने पर, उन उपयोगकर्ताओं को ऐक्सेस नहीं दिया जाएगा जिनके पास G Suite खाता भी है.
source
आपके क्लाइंट ऐप्लिकेशन की पहचान करता है. इसे companyName-applicationName-versionID फ़ॉर्मैट में होना चाहिए. उदाहरणों में exampleCo-exampleApp-1 नाम का इस्तेमाल किया गया है.

पैरामीटर के बारे में ज़्यादा जानकारी के लिए, इसके लिए प्रमाणीकरण देखें इंस्टॉल किए गए ऐप्लिकेशन दस्तावेज़.

अगर पुष्टि करने का अनुरोध पूरा नहीं हो पाता है, तो सर्वर एचटीटीपी 403 Forbidden स्टेटस कोड दिखाता है.

अगर यह प्रोसेस पूरी हो जाती है, तो सर्वर एचटीटीपी 200 OK स्टेटस कोड के साथ-साथ, रिस्पॉन्स के मुख्य हिस्से में तीन लंबे अल्फ़ान्यूमेरिक कोड दिखाता है: SID, LSID, और Auth. पुष्टि करने की वैल्यू, अनुमति देने वाला टोकन होता है. इसे आपको हर अनुरोध के साथ Blogger को भेजना होगा. इसलिए, इस वैल्यू की कॉपी रखें. आप SID और LSID वैल्यू को अनदेखा करें.

निजी फ़ीड के सभी अनुरोधों के लिए पुष्टि करने की ज़रूरत होती है, इसलिए आपको यह सेट करना होगा Blogger के साथ होने वाले सभी इंटरैक्शन के लिए, निम्न प्रारूप:

Authorization: GoogleLogin auth=yourAuthToken

जहां yourAuthToken, पुष्टि करने वाली स्ट्रिंग है ClientLogin अनुरोध.

ClientLogin प्रमाणीकरण के बारे में ज़्यादा जानकारी के लिए, जिसमें नमूना शामिल है तो इंस्टॉल किए गए ऐप्लिकेशन के लिए प्रमाणीकरण देखें ऐप्लिकेशन दस्तावेज़.

ध्यान दें: दिया गया सेशन; Blogger के हर अनुरोध के लिए नया टोकन हासिल नहीं करना चाहिए.

ध्यान दें: जैसा कि ClientLogin में बताया गया है करते हैं, तो प्रमाणीकरण अनुरोध विफल हो सकता है और कैप्चा का अनुरोध किया जा सकता है चुनौती दें. अगर आपको Google से कैप्चा चुनौती जारी करने और उसे मैनेज करने की अनुमति देनी है, तो उपयोगकर्ता को https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger पर भेजें. ऐसा करने के लिए, ClientLogin दस्तावेज़ में दिए गए कैप्चा मैनेज करने वाले यूआरएल का इस्तेमाल न करें.

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

Blogger Data API एक फ़ीड उपलब्ध कराता है, जिसमें किसी खास विषय के ब्लॉग की सूची होती है user; उस फ़ीड को "मेटाफ़ीड" कहा जाता है.

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

http://www.blogger.com/feeds/userID/blogs

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

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

<entry>
  <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/userID/blogs/blogID'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
</entry>

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

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

पोस्ट बनाना

Blogger Data API की मदद से, नई ब्लॉग एंट्री बनाई और पब्लिश की जा सकती हैं. साथ ही, एंट्री के ड्राफ़्ट भी बनाए जा सकते हैं.

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

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

सबसे पहले, पब्लिश करने के लिए पोस्ट को एक्सएमएल फ़ॉर्मैट में पेश करें. इस एक्सएमएल के लिए ज़रूरी है कि Atom <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>

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

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

http://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://purl.org/atom/app#'>
  <app:draft>yes</app:draft>
</app:control>

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

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

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

पोस्ट वापस लाना

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

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

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

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

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

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

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

<feed xmlns='http://www.w3.org/2005/Atom'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2006-11-08T18:10:23.020-08:00</updated>
  <title type='text'>Lizzy's Diary</title>
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/index.html'>
  </link>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <link rel='self' type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default'>
  </link>
  <author>
    <name>Elizabeth Bennet</name>
    <email>noreply@blogger.com</email>
    <uri>http://www.blogger.com/profile/profileID</uri>
  </author>
  <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator>
  <entry>
    <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>
    <author>
      <name>Elizabeth Bennet</name>
      <email>noreply@blogger.com</email>
      <uri>http://www.blogger.com/profile/profileID</uri>
    </author>
  </entry>
</feed>

क्वेरी पैरामीटर का इस्तेमाल करके पोस्ट वापस पाना

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

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

GET http://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 में ये क्वेरी पैरामीटर काम करते हैं:

alt
लौटाए जाने वाले फ़ीड का प्रकार, जैसे कि atom (डिफ़ॉल्ट) या rss.
/category
फ़ीड के नतीजों को फ़िल्टर करने के लिए, कैटगरी (इन्हें लेबल भी कहा जाता है) तय करता है. उदाहरण के लिए, http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie, Fritz और Laurie, दोनों लेबल वाली एंट्री दिखाता है.
ज़्यादा से ज़्यादा नतीजे
लौटाने के लिए एंट्री की ज़्यादा से ज़्यादा संख्या.
Orderby
वह क्रम जिसमें एंट्री दिखाई जानी हैं, जैसे कि lastmodified (डिफ़ॉल्ट), starttime या updated.
प्रकाशित कम से कम, ज़्यादा से ज़्यादा प्रकाशित
पब्लिकेशन की तारीखों की सीमा.
start-index
पेजिंग के लिए, वापस लाए जाने वाले पहले नतीजे का एक आधारित इंडेक्स.
updated-min, updated-max
एंट्री अपडेट की तारीखों की सीमा. इन क्वेरी पैरामीटर को तब तक अनदेखा किया जाता है, जब तक orderby पैरामीटर को updated पर सेट नहीं किया जाता.

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

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

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

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

<entry>
  <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 डेटा एपीआई की मदद से टिप्पणियां बनाई जा सकती हैं, उन्हें वापस पाया जा सकता है, और मिटाया जा सकता है. टिप्पणियों को अपडेट नहीं किया जा सकता (और न ही यह वेब पर उपलब्ध है) इंटरफ़ेस).

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

टिप्पणी पोस्ट करने के लिए, यहां दिए गए उदाहरण की तरह कोई Atom <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 कॉन्टेंट टाइप. इसके बाद, सही Blogger यूआरएल पर POST अनुरोध भेजें:

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

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

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

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

आप इस पोस्ट के टिप्पणी फ़ीड यूआरएल के लिए GET:

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

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

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

इन अनुरोधों से टिप्पणी फ़ीड मिलती है, जो इस तरह दिखती है:

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
         xmlns:thr="http://purl.org/syndication/thread/1.0">
  <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id>
  <updated>2007-04-04T21:56:29.803-07:00</updated>
  <title type="text">My Blog : Time to relax</title>
  <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/>
  <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://blogName.blogspot.com/feeds/postID/comments/default"/>
  <author>
    <name>Blog Author name</name>
  </author>
  <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-04-04T21:56:00.000-07:00</published>
    <updated>2007-04-04T21:56:29.803-07:00</updated>
    <title type="text">This is my first comment</title>
    <content type="html">This is my first comment</content>
    <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/>
    <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/>
    <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/>
    <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" 
                     ref="tag:blogger.com,1999:blog-blogID.post-postID" 
                     source="http://www.blogger.com/feeds/posts/default/blogID"
                     type="text/html"/>
    <author>
      <name>Blog Author name</name>
      <email>blog_author@gmail.com</email>
      <uri>http://www.blogger.com/profile/userID</uri>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' 
         href='http://blogName.blogspot.com/2007/04/first-post.html' 
         ref='tag:blogger.com,1999:blog-blogID.post-postID' 
         source='http://blogName.blogspot.com/feeds/posts/default/postID'
         type='text/html' />
  </entry>
</feed>

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

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

एक्सपोर्ट फ़ॉर्मैट

Blogger, उपयोगकर्ताओं को Blogger एक्सपोर्ट का इस्तेमाल करके अपने ब्लॉग को एक्सपोर्ट और इंपोर्ट करने की सुविधा देता है फ़ाइल से लिए जाते हैं. इस एक्सपोर्ट फ़ाइल में, एक ब्लॉग की सभी पोस्ट और टिप्पणियां शामिल होती हैं. एक्सपोर्ट की गई फ़ाइल का फ़ॉर्मैट, वही Atom फ़ॉर्मैट होता है जिसके बारे में पोस्ट और टिप्पणियों को वापस पाने के सेक्शन में बताया गया है. इस एक्सपोर्ट फ़ाइल में पोस्ट फ़ीड का कॉन्टेंट और टिप्पणी फ़ीड का कॉन्टेंट एक दस्तावेज़ में रखना चाहिए.

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

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

एक्सपोर्ट फ़ाइल इंपोर्ट करने के लिए, POST URL और अनुरोध डेटा के रूप में निर्यात फ़ाइल की सामग्री के साथ कॉन्टेंट टाइप के तौर पर application/atom+xml:

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

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

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

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

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