คู่มือสําหรับนักพัฒนาซอฟต์แวร์:#.NET

API ข้อมูลของ Blogger จะช่วยให้แอปพลิเคชันไคลเอ็นต์สามารถดูและอัปเดตเนื้อหาของ Blogger ในรูปแบบของฟีด Google Data API

แอปพลิเคชันไคลเอ็นต์จะใช้ Blogger Data API เพื่อสร้างบล็อกโพสต์ใหม่ แก้ไขหรือลบบล็อกโพสต์ที่มีอยู่ และค้นหาบล็อกโพสต์ที่ตรงกับเกณฑ์หนึ่งๆ ได้

นอกเหนือจากให้ข้อมูลเกี่ยวกับความสามารถของ Blogger Data API แล้ว เอกสารนี้ยังให้ตัวอย่างการโต้ตอบพื้นฐานของ Data API โดยใช้ไลบรารีของไคลเอ็นต์ .NET หากคุณสนใจทําความเข้าใจเพิ่มเติมเกี่ยวกับโปรโตคอลพื้นฐานที่ไลบรารีใช้ โปรดดูส่วนโปรโตคอลของคู่มือสําหรับนักพัฒนาซอฟต์แวร์นี้

เนื้อหา

กลุ่มเป้าหมาย

เอกสารนี้มีไว้สําหรับโปรแกรมเมอร์ที่ต้องการเขียนแอปพลิเคชันไคลเอ็นต์ .NET ที่โต้ตอบกับ Blogger ได้

เอกสารนี้จะถือว่าคุณเข้าใจแนวคิดทั่วไปเบื้องหลังโปรโตคอล Google Data API

สําหรับข้อมูลอ้างอิงเกี่ยวกับคลาสและเมธอดที่ได้จากไลบรารีของไคลเอ็นต์ โปรดดูข้อมูลอ้างอิง API ไลบรารีของไคลเอ็นต์ .NET สําหรับข้อมูลอ้างอิงทั่วไปของ Data API ในคู่มืออ้างอิงของโปรโตคอล

เริ่มต้นใช้งาน

สําหรับความช่วยเหลือในการตั้งค่าไลบรารีไคลเอ็นต์ โปรดดูคู่มือเริ่มต้นใช้งาน

หากต้องการใช้ไลบรารีของไคลเอ็นต์ .NET คุณจะต้องมีรันไทม์ .NET 1.1 และควรใช้เวอร์ชันปัจจุบันในแพตช์ทั้งหมดด้วย หลังจากดาวน์โหลดไลบรารีของไคลเอ็นต์แล้ว คุณจะเห็น DLL ที่จําเป็นต้องใช้ในไดเรกทอรีย่อย lib/Release ของการเผยแพร่

การสร้างบัญชี Blogger

คุณอาจต้องลงชื่อสมัครใช้บัญชี Blogger เพื่อวัตถุประสงค์ในการทดสอบ Blogger ใช้บัญชี Google ดังนั้นหากคุณมี บัญชี Google อยู่แล้ว คุณก็พร้อมใช้งานได้ทันที

การเรียกใช้โค้ดตัวอย่าง

ไคลเอ็นต์ตัวอย่างแบบเต็มที่มีโค้ดตัวอย่างทั้งหมดที่แสดงในเอกสารนี้จะใช้ได้ในโปรเจ็กต์ไลบรารีไคลเอ็นต์ของ .NET ตัวอย่างนี้จะอยู่ที่ /trunk/clients/cs/sample/blogger/ConsoleSample.csในแท็บแหล่งที่มาของที่เก็บ SVN

ก่อนคอมไพล์และเรียกใช้ตัวอย่างนี้ ให้อัปเดตค่า username, password, blogName และ postId ด้วยค่าที่เหมาะสม ค่า username และ password แสดงถึงข้อมูลเข้าสู่ระบบที่ใช้ลงชื่อเข้าสู่ Blogger ค่า blogName คือจุดเริ่มต้นของ URL blogspot ของบล็อก

ไคลเอ็นต์ตัวอย่างจะดําเนินการหลายอย่างในบล็อกที่ให้ไว้ เพื่อสาธิตการใช้งาน Blogger Data API

หากต้องการรวบรวมตัวอย่างในเอกสารนี้ให้เป็นโค้ดของคุณเอง คุณจะต้องมีคําสั่ง using ต่อไปนี้

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

การตรวจสอบสิทธิ์กับบริการ Blogger

คุณสามารถเข้าถึงได้ทั้งฟีดสาธารณะและฟีดส่วนตัวโดยใช้ Blogger Data API ฟีดสาธารณะไม่จําเป็นต้องมีการตรวจสอบสิทธิ์ แต่เป็นแบบอ่านอย่างเดียว หากต้องการแก้ไขบล็อก ลูกค้าจะต้องตรวจสอบสิทธิ์ก่อนที่จะขอฟีดส่วนตัว โดยจะตรวจสอบสิทธิ์ได้โดยใช้วิธีใดวิธีหนึ่งจาก 2 วิธีนี้ ได้แก่ การตรวจสอบสิทธิ์พร็อกซี AuthSub หรือการตรวจสอบสิทธิ์ชื่อผู้ใช้/รหัสผ่าน ClientLogin

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ด้วย Google Data API โดยทั่วไปได้ในเอกสารประกอบของการตรวจสอบสิทธิ์

การตรวจสอบสิทธิ์พร็อกซี AuthSub

เว็บแอปพลิเคชันที่ใช้การตรวจสอบสิทธิ์พร็อกซี AuthSub ต้องมีการตรวจสอบสิทธิ์ผู้ใช้กับบัญชี Google ผู้ให้บริการเว็บไซต์และโค้ดของไคลเอ็นต์จะไม่มีสิทธิ์เข้าถึงชื่อผู้ใช้และรหัสผ่านสําหรับผู้ใช้ Blogger แต่จะได้รับโทเค็น AuthSub แบบพิเศษที่ช่วยให้ไคลเอ็นต์ดําเนินการแทนผู้ใช้รายนั้นได้ โปรดดูข้อมูลโดยละเอียดในเอกสารประกอบของ AuthSub

เมื่อผู้ใช้เข้าชมแอปพลิเคชันเป็นครั้งแรก ผู้ใช้จะยังไม่ผ่านการตรวจสอบสิทธิ์ ในกรณีนี้ คุณต้องแสดงข้อมูลบางส่วนและลิงก์ที่นําผู้ใช้ไปยังหน้า Google เพื่อตรวจสอบสิทธิ์คําขอของคุณสําหรับการเข้าถึงบล็อกของพวกเขา

สมมติว่ามีการกําหนดไฮเปอร์ลิงก์ ASP ต่อไปนี้ในหน้าเว็บของคุณ

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

จากนั้นหากต้องการสร้าง URL 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)

ถัดไป
URL ของหน้าที่ Google ควรเปลี่ยนเส้นทางให้ผู้ใช้ไปหลังจากการตรวจสอบสิทธิ์
ขอบเขต
ระบุว่าแอปพลิเคชันกําลังขอโทเค็นเพื่อเข้าถึงฟีด Blogger สตริงขอบเขตที่จะใช้คือ http://www.blogger.com/feeds/ (แน่นอนว่ามีการเข้ารหัส URL)
รักษาความปลอดภัย
ระบุว่าไคลเอ็นต์ขอโทเค็นที่ปลอดภัยหรือไม่
เซสชัน
ระบุว่าโทเค็นที่ส่งคืนจะแลกเปลี่ยนเป็นโทเค็นแบบใช้หลายเซสชัน (เซสชัน) ได้หรือไม่

ตัวอย่างข้างต้นแสดงการเรียกที่ไม่ได้ขอโทเค็นที่ปลอดภัย (ค่าของ secure คือ false) URL ของคําขอที่ได้อาจมีลักษณะดังนี้

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 จะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ที่คุณระบุในพารามิเตอร์การค้นหาของ next ของ URL AuthSubRequest ระบบ AuthSub จะเพิ่มโทเค็นการตรวจสอบสิทธิ์ต่อท้าย URL นั้นเป็นค่าของพารามิเตอร์การค้นหา token ดังนั้นโทเค็นจึงเข้าถึงได้เป็นตัวแปรในออบเจ็กต์ Request.QueryString ของหน้าเว็บ ASP ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยัง URL ที่มีลักษณะดังนี้

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

ใช้การตรวจสอบสิทธิ์ ClientLogin หากไคลเอ็นต์เป็นไคลเอ็นต์เดี่ยว "Installed" ไคลเอ็นต์ (เช่น แอปพลิเคชันเดสก์ท็อป) ตั้งค่าข้อมูลเข้าสู่ระบบของออบเจ็กต์บริการดังนี้

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

ในข้อมูลโค้ดข้างต้น เราจะส่งพารามิเตอร์ 2 รายการไปยังตัวสร้าง Service พารามิเตอร์แรกคือชื่อของบริการที่เราต้องการโต้ตอบ พารามิเตอร์ที่ 2 คือชื่อของแอปพลิเคชันในแบบฟอร์ม companyName-applicationName-versionID นอกจากนี้เรายังตั้งค่า Service.RequestFactory ให้ใช้เฉพาะบัญชี GOOGLE ประเภทเพื่อการตรวจสอบสิทธิ์ที่เหมาะสมสําหรับผู้ใช้ G Suite

ดูข้อมูลเพิ่มเติมเกี่ยวกับการตรวจสอบสิทธิ์ ClientLogin รวมถึงตัวอย่างคําขอและการตอบกลับได้จากเอกสารประกอบการตรวจสอบสิทธิ์สําหรับแอปพลิเคชันที่ติดตั้งไว้

หมายเหตุ: ใช้โทเค็นเดียวกันสําหรับคําขอทั้งหมดในเซสชันที่ระบุ และอย่าสร้างโทเค็นใหม่สําหรับคําขอ Blogger แต่ละรายการ

หมายเหตุ: ตามที่อธิบายไว้ในเอกสารประกอบของ ClientLogin คําขอการตรวจสอบสิทธิ์อาจล้มเหลวและส่งคําขอ CAPTCHA หากต้องการให้ Google ออกและจัดการปัญหา CAPTCHA ให้ส่งผู้ใช้ไปที่ https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger (แทนที่จะส่ง URL การจัดการ CAPTCHA ที่ระบุในเอกสารประกอบ ClientLogin)

กําลังเรียกดูรายการบล็อก

API ข้อมูลของ Blogger มีฟีดที่แสดงรายการบล็อกของผู้ใช้บางราย ฟีดนั้นเรียกว่า "metafeed."

โค้ดตัวอย่างต่อไปนี้ใช้ออบเจ็กต์ 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);
  }
}

จด URL ที่เมธอด getFeed ใช้ นี่คือ URL เมตาฟีดเริ่มต้น โดยระบบจะแสดงรายการบล็อกสําหรับผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในปัจจุบัน หากต้องการเข้าถึงฟีดของผู้ใช้รายอื่น คุณสามารถใส่รหัสของผู้ใช้แทน default ใน URL เมตาฟีด รหัส'ของผู้ใช้คือสตริงตัวเลขท้าย URL โปรไฟล์ของผู้ใช้

การสร้างโพสต์

API ข้อมูลของ 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 จะใช้ URL ของโพสต์บริการเป็นพารามิเตอร์ จากนั้นเมธอดจะส่งคืนรายการตามที่ Blogger จัดเก็บไว้ ส่วนสินค้าที่ส่งคืนจะเป็นรายการเดียวกันกับที่คุณส่ง แต่ยังมีองค์ประกอบหลายอย่างที่ Blogger เพิ่มไว้ เช่น รหัสโพสต์

หากส่งคําขอไม่สําเร็จด้วยเหตุผลบางประการ Blogger อาจส่งรหัสสถานะอื่นให้ ดูข้อมูลเกี่ยวกับรหัสสถานะได้ที่เอกสารอ้างอิงโปรโตคอลของ Google Data API

การสร้างบล็อกโพสต์ฉบับร่าง

โพสต์ฉบับร่างสร้างขึ้นในลักษณะเดียวกับโพสต์สาธารณะ แต่คุณต้องตั้งค่าแอตทริบิวต์ draft ของออบเจ็กต์ AtomEntry คุณสามารถสร้างบล็อกโพสต์ด้านบนเป็นฉบับร่างได้โดยการเพิ่มบรรทัดที่ไฮไลต์ ดังนี้

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

คุณเปลี่ยนบล็อกโพสต์ฉบับร่างที่มีอยู่เป็นโพสต์ที่เผยแพร่แล้วได้โดยเรียกข้อมูลโพสต์ฉบับร่าง ตั้งค่าแอตทริบิวต์ฉบับร่างเป็น "เท็จ" แล้วอัปเดตโพสต์ เราจะอธิบายถึงการดึงข้อมูลและอัปเดตโพสต์ในอีก 2 ส่วนถัดไป

กําลังเรียกโพสต์

ส่วนต่อไปนี้จะอธิบายถึงวิธีเรียกรายการบล็อกโพสต์ที่มีและไม่มีพารามิเตอร์การค้นหา

คุณค้นหาฟีดสาธารณะของ Blogger ได้โดยไม่ต้องตรวจสอบสิทธิ์ ดังนั้น คุณจึงไม่จําเป็นต้องตั้งค่าข้อมูลรับรองหรือการตรวจสอบสิทธิ์ AuthSub ก่อนที่จะดึงข้อมูลโพสต์จากบล็อกสาธารณะ

กําลังเรียกบล็อกโพสต์ทั้งหมด

หากต้องการเรียกโพสต์ของผู้ใช้ ให้เรียกเมธอด getFeed เดียวกันกับที่ใช้เรียกเมตาแท็กของบล็อก แต่ครั้งนี้จะส่ง URL ของฟีดบล็อกโพสต์

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

การดึงข้อมูลโพสต์โดยใช้พารามิเตอร์การค้นหา

API ข้อมูลของ Blogger ช่วยให้คุณขอชุดรายการที่ตรงกับเกณฑ์ที่ระบุได้ เช่น การขอบล็อกโพสต์ที่เผยแพร่หรืออัปเดตในช่วงวันที่หนึ่งๆ ซึ่งทําได้โดยการสร้างออบเจ็กต์ FeedQuery และส่งไปยังเมธอด Service.Query()

ตัวอย่างเช่น หากต้องการส่งคําค้นหาตามช่วงวันที่ ให้ตั้งค่าสมาชิก MinPublication และ MaxPublication ของออบเจ็กต์ FeedQuery ข้อมูลโค้ดต่อไปนี้จะพิมพ์ชื่อบล็อกโพสต์แต่ละรายการที่เผยแพร่ระหว่างเวลาเริ่มต้นและเวลาสิ้นสุดที่กําหนด

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 สร้างขึ้นโดยใช้ URL ของฟีดโพสต์เดียวกันกับที่ใช้ในการเรียกข้อมูลโพสต์

Blogger Data API รองรับพารามิเตอร์การค้นหาต่อไปนี้

alt
ประเภทฟีดที่จะแสดงผล เช่น atom (ค่าเริ่มต้น) หรือ rss
/category
ระบุหมวดหมู่ (หรือที่เรียกว่าป้ายกํากับ) เพื่อกรองผลลัพธ์ของฟีด เช่น http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie จะแสดงรายการป้ายกํากับทั้ง Fritz และ Laurie
ผลลัพธ์สูงสุด
จํานวนสูงสุดของผลลัพธ์ที่จะแสดง
Orderby
ลําดับในการคืนสินค้า เช่น lastmodified (ค่าเริ่มต้น), starttime หรือ updated
เผยแพร่ต่ําสุด, เผยแพร่สูงสุด
ขอบเขตวันที่เผยแพร่รายการที่ป้อน
ดัชนีเริ่มต้น
ดัชนี 1 จากผลลัพธ์แรกที่จะดึงมา (สําหรับการแบ่งหน้า)
อัปเดต-นาที, อัปเดต-สูงสุด
ขอบเขตการอัปเดตวันที่ป้อนเข้า ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะกําหนดพารามิเตอร์ orderby เป็น updated

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ที่คู่มืออ้างอิง API ข้อมูลของ Blogger และคู่มืออ้างอิงสําหรับ Google Data API

กําลังอัปเดตโพสต์

หากต้องการอัปเดตบล็อกโพสต์ที่มีอยู่ อันดับแรกให้เรียกข้อมูลรายการที่คุณต้องการอัปเดต จากนั้นแก้ไข และส่งไปยัง Blogger โดยใช้เมธอด Update() ข้อมูลโค้ดต่อไปนี้จะแก้ไขชื่อรายการบล็อก สมมติว่าคุณได้เรียกข้อมูลรายการจากเซิร์ฟเวอร์แล้ว

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 ที่มีโพสต์ที่อัปเดตทั้งหมด หากต้องการอัปเดตพร็อพเพอร์ตี้อื่นๆ ให้ตั้งค่าในออบเจ็กต์ AtomEntry ก่อนเรียกใช้ Update()

หมายเหตุ: ยังไม่รองรับการแก้ไขข้อมูลผู้เขียนที่เชื่อมโยงกับโพสต์

กําลังลบโพสต์

หากต้องการลบโพสต์ ให้เรียกใช้เมธอด Delete ในออบเจ็กต์ AtomEntry ที่มีอยู่ เช่น

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

ความคิดเห็น

Blogger Data API ช่วยให้สร้าง ดึงข้อมูล และลบความคิดเห็นได้ ไม่สนับสนุนการอัปเดตความคิดเห็น (หรือไม่พร้อมใช้งานในอินเทอร์เฟซเว็บ)

การสร้างความคิดเห็น

หากต้องการโพสต์ความคิดเห็น ให้สร้างออบเจ็กต์ 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);

หมายเหตุ: ปัจจุบันคุณสามารถโพสต์ความคิดเห็นไปยังบล็อก ของผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้น

หมายเหตุ: ยังไม่รองรับการตั้งค่าผู้เขียนที่กําหนดเองสําหรับความคิดเห็นในขณะนี้ ความคิดเห็นใหม่ทั้งหมดจะแสดงเหมือนกับว่าความคิดเห็นเหล่านั้นสร้างขึ้นโดยผู้ใช้ที่ตรวจสอบสิทธิ์แล้วในปัจจุบัน

กําลังดึงข้อมูลความคิดเห็น

คุณสามารถดึงความคิดเห็นสําหรับโพสต์ใดโพสต์หนึ่งจาก URL ฟีดของความคิดเห็น

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

หรือสามารถรับความคิดเห็นจากทุกโพสต์โดยใช้ฟีดความคิดเห็นเกี่ยวกับบล็อกของ URL #39;

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

กําลังลบความคิดเห็น

หากต้องการลบความคิดเห็น ให้เรียกใช้เมธอด Delete() ในออบเจ็กต์ AtomEntry ของความคิดเห็นที่มีอยู่ ดังนี้

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

กลับไปด้านบน