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

สำคัญ เราจะหยุดรองรับ Google Data API เวอร์ชัน 2.0 ในวันที่ 30 กันยายน 2024 โปรดอัปเดตแอปพลิเคชันที่ใช้ Google เวอร์ชัน 2.0 เพื่อให้ใช้งานได้อย่างต่อเนื่อง Data API เป็น API เวอร์ชันล่าสุด หากต้องการใช้เวอร์ชันล่าสุด ให้ใช้ลิงก์ในแถบนําทางด้านซ้าย หมายเหตุ: แม้ว่าคำขอ GET บางรายการ (เช่น โพสต์รายชื่อ) จะยังคงมีการสนับสนุนเป็นฟีด URL มีลักษณะการทำงานที่ต่างกันเล็กน้อย สำหรับข้อมูลโดยละเอียด โปรดไปที่ เอกสารความช่วยเหลือสำหรับ Blogger

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

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

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

เนื้อหา

ผู้ชม

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

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

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

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

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

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

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

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

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

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

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

ไคลเอ็นต์ตัวอย่างดำเนินการหลายอย่างในบล็อกที่ให้ไว้เพื่อ สาธิตการใช้ 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 ผู้ให้บริการเว็บไซต์และลูกค้า ไม่สามารถเข้าถึงชื่อผู้ใช้และรหัสผ่านสำหรับผู้ใช้บล็อกเกอร์ แต่ไคลเอ็นต์จะได้รับโทเค็น 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 และตรวจสอบสิทธิ์การใช้งาน บัญชี

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

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 รวมถึงตัวอย่าง คำขอและการตอบกลับ โปรดดูการตรวจสอบสิทธิ์สำหรับการติดตั้ง เอกสารประกอบของแอปพลิเคชัน

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

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

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

Blogger Data API มีฟีดข้อมูลที่แสดงรายชื่อบล็อกสำหรับ user; ฟีดนั้นเรียกว่า "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 ของเมตาฟีด ID ของผู้ใช้คือสตริงของตัวเลข ต่อท้าย 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 อาจแสดงสถานะอื่น โค้ด สำหรับข้อมูลเกี่ยวกับรหัสสถานะ โปรดดูที่ข้อมูลใน Google เอกสารอ้างอิงโปรโตคอล 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);

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

กำลังเรียกข้อมูลโพสต์

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

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

API ข้อมูลของ Blogger สนับสนุนพารามิเตอร์การค้นหาต่อไปนี้

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

โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ที่ข้อมูลอ้างอิง API ข้อมูลของ Blogger Guide และ 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 ของฟีดมีดังนี้

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

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

หากต้องการลบความคิดเห็น ให้เรียกเมธอด Delete() ใน ความคิดเห็น AtomEntry ออบเจ็กต์ลักษณะนี้

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

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