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

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

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

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

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

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

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

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

การดึงข้อมูลรายการบล็อก

Blogger Data API มีฟีดที่แสดงรายการบล็อกของผู้ใช้รายหนึ่งๆ ซึ่งฟีดดังกล่าวเรียกว่า "ฟีดเมตา"

ตัวอย่างโค้ดต่อไปนี้ใช้ออบเจ็กต์ 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 ของโปรไฟล์ผู้ใช้

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

Blogger Data API ช่วยให้คุณสร้างและเผยแพร่รายการบล็อกใหม่ รวมถึงสร้างรายการฉบับร่างได้

ตัวอย่างต่อไปนี้ทั้งหมดจะถือว่าคุณมีออบเจ็กต์ 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);

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

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

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

คุณค้นหาฟีดสาธารณะของ 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);
}

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

Blogger Data API ช่วยให้คุณขอชุดรายการที่ตรงกับเกณฑ์ที่ระบุได้ เช่น การขอบล็อกโพสต์ที่เผยแพร่หรืออัปเดตในช่วงวันที่ที่ระบุ โดยสร้างออบเจ็กต์ 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
max-results
จำนวนรายการสูงสุดที่จะแสดง
orderby
ลําดับที่จะแสดงรายการ เช่น lastmodified (ค่าเริ่มต้น), starttime หรือ updated
published-min, published-max
ขอบเขตวันที่เผยแพร่รายการ
start-index
ดัชนีฐาน 1 ของผลลัพธ์แรกที่จะดึงข้อมูล (สำหรับการแบ่งหน้า)
updated-min, updated-max
ขอบเขตวันที่อัปเดตรายการ ระบบจะไม่สนใจพารามิเตอร์การค้นหาเหล่านี้ เว้นแต่จะมีการตั้งค่าพารามิเตอร์ orderby เป็น updated

ดูข้อมูลเพิ่มเติมเกี่ยวกับพารามิเตอร์การค้นหาได้ในคู่มืออ้างอิง Blogger Data API และคู่มืออ้างอิง 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();
  }
}

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