डेवलपर की गाइड: .NET

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

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

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

कॉन्टेंट

दर्शक

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

इस दस्तावेज़ में यह माना जाता है कि आप Google के डेटा एपीआई प्रोटोकॉल को इस्तेमाल करने के सामान्य आइडिया समझते हैं.

क्लाइंट लाइब्रेरी से मिली क्लास और मेथड के बारे में जानकारी पाने के लिए, .NET क्लाइंट लाइब्रेरी एपीआई का रेफ़रंस देखें. Blogger के डेटा एपीआई की सामान्य जानकारी के लिए, प्रोटोकॉल रेफ़रंस गाइड देखें.

रिपोर्ट का इस्तेमाल करना

क्लाइंट लाइब्रेरी सेट अप करने में मदद पाने के लिए, शुरुआती निर्देश देखें.

.NET क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, आपको .NET 1.1 रनटाइम की ज़रूरत होगी और आप सभी पैच से जुड़े होने चाहिए. क्लाइंट लाइब्रेरी डाउनलोड करने के बाद, आपको वे DLL मिलेंगे जिन्हें आपको डिस्ट्रिब्यूशन के lib/Release सबडायरेक्ट्री में शुरू करना होगा.

Blogger खाता बनाना

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

सैंपल कोड चलाना

.NET क्लाइंट लाइब्रेरी प्रोजेक्ट में पूरी तरह से काम करने वाला सैंपल क्लाइंट मौजूद है, जिसमें इस दस्तावेज़ में दिखाए गए सभी सैंपल कोड शामिल हैं. यह सैंपल, एसवीएन रिपॉज़िटरी के सोर्स टैब में /ट्रंक/क्लाइंट/cs/sample/blogger/ConsoleSample.cs पर मौजूद होता है.

इस सैंपल को कंपाइल करने और चलाने से पहले, username, password, blogName, और postId की वैल्यू को सही वैल्यू के साथ अपडेट करें. username और password वैल्यू, उन क्रेडेंशियल को दिखाती हैं जिनका इस्तेमाल Blogger में लॉग इन करने के लिए किया जाता है. blogName का मान आपके ब्लॉग के ब्लॉग की शुरुआत का यूआरएल है.

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

इस दस्तावेज़ में उदाहरणों को अपने कोड में जोड़ने के लिए, आपको using स्टेटमेंट की ज़रूरत होगी:

using Google.GData.Client;
using System.Net;
using System.Xml;
using System.Text.RegularExpressions;

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

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

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

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

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

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

मान लीजिए कि आपके पेज में नीचे दिया गया एएसपी हाइपरलिंक तय किया गया है:

<asp:HyperLink ID="GotoAuthSubLink" runat="server"/>

फिर अपने ऐप्लिकेशन के लिए AuthSubRequest यूआरएल बनाने के लिए, .NET क्लाइंट लाइब्रेरी का इस्तेमाल करें:

GotoAuthSubLink.Text = "Login to your Google Account";
GotoAuthSubLink.NavigateUrl =
  AuthSubUtil.getRequestUrl("http://www.example.com/RetrieveToken",
  "http://www.blogger.com/feeds/",
  false,
  true);

getRequestUrl वाला तरीका नीचे दिए गए पैरामीटर का इस्तेमाल करता है (AuthSubRequest हैंडलर के इस्तेमाल किए गए क्वेरी पैरामीटर के मुताबिक):

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

ऊपर दिया गया उदाहरण एक ऐसा कॉल दिखाता है जो सुरक्षित टोकन का अनुरोध नहीं करता (secure का मान false है). नतीजे के तौर पर मिला अनुरोध यूआरएल कुछ ऐसा दिख सकता है:

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%2FRetrieveToken

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

उपयोगकर्ता की पुष्टि करने के बाद, AuthSub सिस्टम उन्हें उस यूआरएल पर रीडायरेक्ट करता है जो आपने AuthSubRequest यूआरएल के next क्वेरी पैरामीटर में बताया है. AuthSub सिस्टम उस यूआरएल के लिए token क्वेरी पैरामीटर की वैल्यू के तौर पर पुष्टि करने वाला टोकन जोड़ता है. इसलिए, एएसपी पेज में वैरिएबल के तौर पर टोकन को ऐक्सेस किया जा सकता है.'s Request.QueryString ऑब्जेक्ट. उपयोगकर्ता को ऐसे यूआरएल पर रीडायरेक्ट किया जाता है जो ऐसा दिखता है:

http://www.example.com/RetrieveToken?token=yourAuthToken

यह टोकन वैल्यू, एक बार इस्तेमाल होने वाले AuthSub टोकन के बारे में बताती है. इस उदाहरण में, session = true के बाद से यह टोकन, AuthSub सत्र टोकन के साथ इस तरह बदला जा सकता है:

SessionsessionToken = AuthSubUtil.exchangeForSessionToken(Request.QueryStringtoken, null);

इसका मतलब है कि आपके इस्तेमाल के लिए एक बार इस्तेमाल होने वाले टोकन को exchangeForSessionToken तरीके से पास किया जाता है. साथ ही, null (रजिस्टर किए गए मोड के लिए) या निजी कुंजी (रजिस्टर किए गए मोड के लिए) भी पास की जाती है. साथ ही, AuthSub इंटरफ़ेस, सेशन टोकन दिखाता है. रजिस्टर किए गए ऐप्लिकेशन और निजी कुंजियों के बारे में ज़्यादा जानकारी के लिए, AuthSub दस्तावेज़ के "अनुरोध सबमिट करना" सेक्शन देखें.

फिर आपका ऐप्लिकेशन बाद के इंटरैक्शन वाले Blogger में सत्र टोकन मान का इस्तेमाल कर सकता है. .NET क्लाइंट लाइब्रेरी को हर अनुरोध के साथ अपने-आप ऑथराइज़ेशन हेडर (सेशन टोकन वाले) भेजने के लिए, ये काम करें:

GAuthSubRequestFactory authFactory = new GAuthSubRequestFactory("blogger", "BloggerSampleApp");
authFactory.Token = SessionsessionToken.ToString();
Service service = new Service(authFactory.ApplicationName);
service.RequestFactory = authFactory;

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

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

Service service = new Service("blogger", "exampleCo-exampleApp-1");
service.Credentials = new GDataCredentials("user@example.com", "secretPassword");
GDataGAuthRequestFactory factory = (GDataGAuthRequestFactory) service.RequestFactory;
factory.AccountType = "GOOGLE";

ऊपर स्निपेट में, हम Service पैरामीटर में दो पैरामीटर पास करते हैं. पहला पैरामीटर उस सेवा का नाम है जिससे हम इंटरैक्ट करना चाहते हैं. दूसरा पैरामीटर फ़ॉर्म में हमारे ऐप्लिकेशन का नाम है, जो companyName-applicationName-versionID है. हमने Service.RequestFactoryखाते को सिर्फ़ GOOGLEखाते के प्रकार का इस्तेमाल करने के लिए सेट किया है, ताकि G Suite के उपयोगकर्ताओं को सही तरीके से पुष्टि करने की सुविधा मिल सके.

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

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

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

ब्लॉग की सूची फ़ेच की जा रही है

Blogger डेटा एपीआई में एक फ़ीड होता है, जो किसी खास उपयोगकर्ता के ब्लॉग की सूची बनाता है; उस फ़ीड को "metafeed.&quot कहा जाता है;

नीचे दिया गया सैंपल कोड, Serviceफ़ीड का इस्तेमाल करके, मेटाफ़ीड को फिर से पाने और हर ब्लॉग के शीर्षक को प्रिंट करने के लिए करता है.

query.Uri = new Uri("http://www.blogger.com/feeds/default/blogs");
AtomFeed feed = null;
try
{
  feed = service.Query(query);
  foreach (AtomEntry entry in feed.Entries)
  {
    Console.WriteLine("Blog Title: " + entry.Title.Text);
  }
}

ध्यान दें कि getFeed तरीके से इस्तेमाल किया गया यूआरएल. यह डिफ़ॉल्ट मेटाफ़ीड यूआरएल है; यह मौजूदा समय में पुष्टि किए गए उपयोगकर्ता के लिए ब्लॉग की एक सूची दिखाता है. किसी दूसरे उपयोगकर्ता के फ़ीड को ऐक्सेस करने के लिए, मेटाफ़ीड यूआरएल में default की जगह, उपयोगकर्ता का आईडी डाला जा सकता है. उपयोगकर्ता का आईडी, उपयोगकर्ता के प्रोफ़ाइल यूआरएल के आखिर में अंकों की स्ट्रिंग होती है.

पोस्ट बनाना

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

इन सभी सैंपल में यह माना गया है कि आपके पास पुष्टि किए गए Service ऑब्जेक्ट हैं.

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

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

नई ब्लॉग एंट्री पब्लिश करने के लिए, .NET क्लाइंट लाइब्रेरी का इस्तेमाल किया जा सकता है.

सबसे पहले, ब्लॉग पोस्ट के बारे में बताने के लिए, AtomEntry ऑब्जेक्ट बनाएं. इसके बाद, आप ब्लॉग पोस्ट का शीर्षक, कॉन्टेंट, और अन्य एट्रिब्यूट सेट कर सकते हैं. आखिर में, पोस्ट डालने के लिए Service ऑब्जेक्ट का इस्तेमाल करें. नई ब्लॉग पोस्ट पब्लिश करने का तरीका यहां दिया गया है:

AtomEntry newPost = new AtomEntry();
newPost.Title.Text = "Marriage!";
newPost.Content = new AtomContent();
newPost.Content.Content = "<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>";
newPost.Content.Type = "xhtml";

Uri blogFeedUri = new Uri("http://www.blogger.com/feeds/" + blogId + "/posts/default");
AtomEntry createdEntry = service.Insert(blogFeedUri, newPost);

Insert का तरीका, सेवा और #39; पोस्ट के यूआरएल को पैरामीटर के तौर पर लेता है. जब Chromebook ने कोई एंट्री सेव की थी, तो मैथड में एंट्री हो जाती है. आपने जो एंट्री भेजी है, वह वही होगी जो आपने भेजी थी. हालांकि, इसमें Blogger से जोड़े गए कई एलिमेंट भी शामिल हैं, जैसे कि पोस्ट आईडी.

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

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

ड्राफ़्ट पोस्ट, सार्वजनिक पोस्ट की तरह ही बनाई जाती हैं, लेकिन आपको AtomEntry ऑब्जेक्ट के draft एट्रिब्यूट को सेट करना होगा. हाइलाइट की गई लाइन को जोड़कर, ऊपर दिए गए ब्लॉग पोस्ट को ड्राफ़्ट के तौर पर बनाया जा सकता है:

AtomEntry newPost = new AtomEntry();
newPost.Title.Text = "Marriage!";
newPost.Content = new AtomContent();
newPost.Content.Content = "<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>";
newPost.Content.Type = "xhtml";
newPost.IsDraft = true;

Uri blogFeedUri = new Uri("http://www.blogger.com/feeds/" + blogId + "/posts/default");
AtomEntry createdEntry = service.Insert(blogFeedUri, newPost);

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

पोस्ट फ़ेच की जा रही हैं

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

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

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

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

query.Uri = new Uri("http://www.blogger.com/feeds/" + blogId + "/posts/default");
feed = service.Query(query);
Console.WriteLine(feed.Title.Text);
foreach (AtomEntry entry in feed.Entries)
{
  Console.WriteLine("Entry Title: " + entry.Title.Text);
}

क्वेरी पैरामीटर का इस्तेमाल करके, पोस्ट को वापस लाया जा रहा है

Blogger के डेटा एपीआई की मदद से, आपके पास तय की गई शर्तों से मेल खाने वाली एंट्री के सेट का अनुरोध करने का विकल्प होता है. जैसे, दी गई तारीख की सीमा में, पब्लिश या अपडेट किए गए ब्लॉग पोस्ट का अनुरोध करना. ऐसा करने के लिए, FeedQuery ऑब्जेक्ट बनाएं और उसे Service.Query() तरीके से पास करें.

उदाहरण के लिए, तारीख की सीमा की क्वेरी भेजने के लिए, FeedQuery ऑब्जेक्ट के MinPublication और MaxPublication सदस्य सेट करें. नीचे दिया गया कोड स्निपेट, हर ब्लॉग पोस्ट के शीर्षक को तय समय और खत्म होने के समय के बीच में प्रकाशित करता है:

FeedQuery query = new FeedQuery();
query.Uri = new Uri("http://www.blogger.com/feeds/" + blogId + "/posts/default");
query.MinPublication = new DateTime(2006, 1, 1);
query.MaxPublication = new DateTime(2007, 4, 12);
AtomFeed feed = service.Query(query);
foreach (AtomEntry entry in feed.Entries)
{
  Console.WriteLine("  Entry Title: " + entry.Title.Text);
}

ध्यान दें कि FeedQuery ऑब्जेक्ट को उसी पोस्ट फ़ीड यूआरएल का इस्तेमाल करके बनाया गया है जिसका इस्तेमाल पोस्ट को वापस पाने के लिए किया जाता है.

Blogger डेटा एपीआई में इन क्वेरी पैरामीटर का इस्तेमाल किया जा सकता है:

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

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

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

किसी मौजूदा ब्लॉग पोस्ट को अपडेट करने के लिए, पहले आपको वह एंट्री मिलती है जिसे आप अपडेट करना चाहते हैं, फिर आप उसमें बदलाव करते हैं और फिर आप एंट्री और Update() तरीके का इस्तेमाल करके उसे Blogger पर भेजते हैं. नीचे दिए गए कोड स्निपेट, यह मानते हुए एक ब्लॉग एंट्री के शीर्षक में बदलाव करते हैं कि आपने सर्वर से एंट्री वापस ले ली है.

static AtomEntry EditEntry(AtomEntry toEdit)
{
  // Edit the entry by changing the Title and calling Update().
  if (toEdit != null)
  {
    toEdit.Title.Text = "Marriage Woes!";
    toEdit = toEdit.Update();
  }
  return toEdit;
}

ऊपर दिया गया कोड एक AtomEntry दिखाता है, जिसमें पूरी तरह से नई-नई पोस्ट शामिल है. किसी भी दूसरी प्रॉपर्टी को अपडेट करने के लिए, उन्हें Update() पर कॉल करने से पहले AtomEntry ऑब्जेक्ट में सेट करें.

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

पोस्ट मिटाना

किसी पोस्ट को मिटाने के लिए, किसी मौजूदा AtomEntry ऑब्जेक्ट पर Delete तरीके को इस तरह से कॉल करें:

static void DeleteEntry(AtomEntry toDelete)
{
  // Delete the edited entry
  if (toDelete != null)
  {
    toDelete.Delete();
  }
}

टिप्पणियां

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

टिप्पणियां बनाना

टिप्पणी पोस्ट करने के लिए, AtomEntry ऑब्जेक्ट बनाएं और उसे इस तरह डालें:

AtomEntry comment;
comment = new AtomEntry();
comment.Title.Text = "This is my first comment";
comment.Content.Content = "This is my first comment";
Uri commentPostUri = new Uri("http://www.blogger.com/feeds/" + blogId + "/" + entryId + "/comments/default");
postedComment = service.Insert(commentPostUri, comment);

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

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

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

आप किसी खास पोस्ट पर की गई टिप्पणियों को फ़ीड के यूआरएल के फ़ीड से दोबारा हासिल कर सकते हैं:

static void ListEntryComments(Service service, Uri commentUri)
{
  if (commentUri != null)
  {
    // Retrieve all comments on a blog entry
    FeedQuery query = new FeedQuery();
    query.Uri = commentUri;
    AtomFeed feed = service.Query(query);
    foreach (AtomEntry entry in feed.Entries)
    {
      Console.WriteLine("  Comment Title: " + entry.Title.Text);
    }
  }
}

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

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

टिप्पणियां मिटाना

किसी टिप्पणी को मिटाने के लिए, मौजूदा AtomEntryटिप्पणियां पर मौजूद Delete() तरीके को इस तरह कॉल करें:

static void DeleteComment(AtomEntry commentEntry)
{
  if (commentEntry != null)
  {
    // Delete the comment.
    commentEntry.Delete();
  }
}

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