Lưu ý quan trọng: Chúng tôi sẽ ngừng hỗ trợ Google Data API phiên bản 2.0 từ ngày 30 tháng 9 năm 2024. Để đảm bảo ứng dụng của bạn vẫn hoạt động bình thường, hãy cập nhật những ứng dụng có dùng API Google Data phiên bản 2.0 lên phiên bản API mới nhất. Đối với phiên bản mới nhất, hãy sử dụng các đường liên kết trong thanh điều hướng bên trái. Lưu ý: mặc dù một số yêu cầu GET (chẳng hạn như bài đăng trang thông tin) sẽ tiếp tục được hỗ trợ dưới dạng URL nguồn cấp dữ liệu, nhưng hành vi của các yêu cầu này có một số điểm khác biệt nhỏ. Để biết thông tin chi tiết, hãy tham khảo tài liệu Trợ giúp của Blogger.
API Dữ liệu Blogger cho phép các ứng dụng khách xem và cập nhật nội dung Blogger dưới dạng nguồn cấp dữ liệu API Google Data.
Ứng dụng khách của bạn có thể sử dụng API Dữ liệu Blogger để tạo bài đăng trên blog mới, chỉnh sửa hoặc xoá bài đăng trên blog hiện có và truy vấn các bài đăng trên blog khớp với tiêu chí cụ thể.
Ngoài việc cung cấp một số thông tin cơ bản về các chức năng của API Dữ liệu Blogger, tài liệu này còn cung cấp các ví dụ về các hoạt động tương tác cơ bản với API Dữ liệu bằng cách sử dụng XML thô và HTTPS. Sau khi đọc tài liệu này, bạn nên tìm hiểu thêm về cách tương tác với API bằng thư viện ứng dụng của chúng tôi bằng cách đọc các phần dành riêng cho ngôn ngữ lập trình trong hướng dẫn dành cho nhà phát triển này.
Nội dung
Đối tượng
Tài liệu này dành cho các lập trình viên muốn viết ứng dụng khách có thể tương tác với Blogger bằng XML và HTTPS.
Tài liệu này giả định rằng bạn hiểu các ý tưởng chung đằng sau giao thức API Dữ liệu của Google.
Nếu đang sử dụng hệ thống UNIX và muốn thử các ví dụ trong tài liệu này mà không cần viết mã, bạn có thể thấy các tiện ích dòng lệnh UNIX curl
hoặc wget
hữu ích; để biết thêm thông tin, hãy xem các trang hướng dẫn về các tiện ích đó.
Để biết thông tin tham khảo về Blogger Data API, hãy xem Hướng dẫn tham khảo về giao thức.
Bắt đầu
Tạo tài khoản Blogger
Bạn nên đăng ký một tài khoản Blogger để thử nghiệm. Blogger sử dụng Tài khoản Google, vì vậy, nếu bạn đã có Tài khoản Google, thì bạn đã sẵn sàng.
Ủy quyền yêu cầu
Khi yêu cầu dữ liệu người dùng không công khai, ứng dụng của bạn phải bao gồm mã uỷ quyền. Mã này cũng giúp Google xác định ứng dụng của bạn.
Giới thiệu về giao thức cấp phép
Bạn nên sử dụng OAuth 2.0 để cấp phép các yêu cầu.
API GData của Blogger cũng hỗ trợ các tuỳ chọn uỷ quyền cũ, chẳng hạn như OAuth 1.0, AuthSub hoặc ClientLogin; tuy nhiên, trong hầu hết trường hợp, bạn không nên sử dụng các tuỳ chọn khác đó. Nếu ứng dụng của bạn đã sử dụng các tuỳ chọn đó, bạn nên di chuyển sang OAuth 2.0 nếu có thể.
Nếu ứng dụng của bạn có một số yêu cầu uỷ quyền bất thường, chẳng hạn như đăng nhập cùng lúc với yêu cầu quyền truy cập dữ liệu (kết hợp) hoặc uỷ quyền toàn miền (2LO), thì bạn hiện không thể sử dụng mã thông báo OAuth 2.0. Trong những trường hợp như vậy, bạn phải sử dụng mã thông báo OAuth 1.0.
Uỷ quyền cho các yêu cầu bằng OAuth 2.0
Yêu cầu đối với API GData của Blogger về dữ liệu người dùng không công khai phải được một người dùng đã xác thực cấp phép.
Các chi tiết của quy trình uỷ quyền (hay còn gọi là "luồng") cho OAuth 2.0 sẽ khác nhau đôi chút tuỳ thuộc vào loại ứng dụng bạn đang viết. Quy trình chung sau đây áp dụng cho tất cả các loại ứng dụng:
- Khi tạo ứng dụng, bạn sẽ đăng ký ứng dụng đó với Google. Sau đó, Google cung cấp thông tin bạn sẽ cần sau này, chẳng hạn như mã ứng dụng khách và mật khẩu ứng dụng khách.
- Khi cần quyền truy cập vào dữ liệu người dùng, ứng dụng sẽ yêu cầu Google cung cấp một phạm vi truy cập cụ thể.
- Google hiển thị hộp thoại OAuth cho người dùng để yêu cầu họ cho phép ứng dụng của bạn yêu cầu một số dữ liệu của họ.
- Nếu người dùng đồng ý, thì Google sẽ cấp cho ứng dụng của bạn một mã truy cập ngắn hạn.
- Ứng dụng của bạn yêu cầu dữ liệu người dùng và đính kèm mã truy cập vào yêu cầu.
- Nếu xác định rằng yêu cầu của bạn và mã này là hợp lệ, Google sẽ trả về dữ liệu mà ứng dụng yêu cầu.
Một số quy trình cấp phép có các bước bổ sung khác, chẳng hạn như sử dụng mã làm mới để lấy mã truy cập mới. Để biết thông tin chi tiết về quy trình cho các loại ứng dụng khác nhau, hãy xem tài liệu về OAuth 2.0 của Google.
Dưới đây là thông tin về phạm vi truy cập của OAuth 2.0 cho API GData của Blogger:
https://www.blogger.com/feeds/
Để yêu cầu quyền truy cập bằng OAuth 2.0, ứng dụng của bạn cần thông tin về phạm vi, cũng như thông tin mà Google cung cấp trong quá trình đăng ký ứng dụng (chẳng hạn như mã ứng dụng khách và/hoặc khoá bí mật của ứng dụng).
Mẹo: Thư viện ứng dụng API Google có thể xử lý một số bước trong quy trình uỷ quyền cho bạn. Thư viện này được cung cấp bằng nhiều ngôn ngữ lập trình. Hãy xem trang Thư viện và mẫu để biết thêm chi tiết.
Chỉ định phiên bản
Mọi yêu cầu mà bạn gửi bằng API Dữ liệu Blogger đều phải chỉ định phiên bản 2 của API.
Để chỉ định số phiên bản, hãy sử dụng tiêu đề HTTP GData-Version
:
GData-Version: 2
Ngoài ra, nếu không thể đặt tiêu đề HTTP, bạn có thể chỉ định v=2
làm tham số truy vấn trong URL. Tuy nhiên, bạn nên sử dụng tiêu đề HTTP khi có thể.
Lưu ý: Thư viện ứng dụng sẽ tự động cung cấp tiêu đề phiên bản thích hợp, vì vậy, đừng sử dụng tham số truy vấn v=2
khi bạn đang sử dụng thư viện ứng dụng.
Truy xuất danh sách blog
API Dữ liệu Blogger cung cấp một nguồn cấp dữ liệu liệt kê các blog của một người dùng cụ thể; nguồn cấp dữ liệu đó được gọi là "metafeed".
Gửi GET
HTTP đến URL sau để truy xuất danh sách blog:
https://www.blogger.com/feeds/profileID /blogs
Trong đó, mã hồ sơ là số trong URL của trang hồ sơ của người dùng.
Lưu ý: Bạn cũng có thể thay thế default
cho mã nhận dạng người dùng. Thao tác này sẽ yêu cầu Blogger trả về danh sách blog cho người dùng có thông tin xác thực đi kèm với yêu cầu.
Một mục trong nguồn cấp dữ liệu siêu dữ liệu có thể có dạng như sau:
<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'> <id>tag:blogger.com,1999:user-userNumber .blog-blogID </id> <published>2006-08-02T18:44:43.089-07:00</published> <updated>2008-04-17T00:03:33.152-07:00</updated> <title>Lizzy's Diary</title> <summary type='html'>Being the journal of Elizabeth Bennet</summary> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/profileID /blogs/blogID ' /> <link rel='alternate' type='text/html' href='http://blogName .blogspot.com/' /> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName .blogspot.com/feeds/posts/default' /> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /posts/default' /> ... <author> <name>Elizabeth Bennet</name> <uri>http://www.blogger.com/profile/profileID </uri> <email>noreply@blogger.com</email> </author> </entry>
Để biết thông tin về ý nghĩa của từng phần tử đó, hãy xem tài liệu Tài liệu tham khảo về giao thức API dữ liệu của Google hoặc quy cách Atom 1.0.
Nếu yêu cầu của bạn không thành công vì lý do nào đó, Blogger có thể trả về một mã trạng thái khác. Bạn cũng có thể xem thêm thông tin về mã trạng thái HTTP trong tài liệu Tài liệu tham khảo về giao thức API dữ liệu của Google.
Tạo bài đăng
Blogger Data API cho phép bạn tạo và xuất bản các mục mới trên blog, cũng như tạo bản nháp của các mục.
Xuất bản bài đăng trên blog
Sau khi xác thực, bạn có thể xuất bản các mục mới trên blog.
Trước tiên, hãy tạo một tệp XML đại diện cho bài đăng cần xuất bản. Tệp XML này cần ở dạng phần tử <entry>
của Atom, có thể có dạng như sau:
<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>
Lưu ý: Chúng tôi hiện chưa hỗ trợ tính năng đặt tác giả tuỳ chỉnh cho bài đăng. Tất cả bài đăng mới sẽ xuất hiện như thể chúng do người dùng hiện đã xác thực tạo.
Để xuất bản mục nhập này, hãy gửi mục nhập đó đến URL bài đăng của blog như sau. Trước tiên, hãy đặt phần tử <entry>
của Atom vào phần nội dung của yêu cầu POST
mới, sử dụng loại nội dung application/atom+xml
. Sau đó, hãy tìm URL bài đăng của blog trong nguồn cấp dữ liệu siêu dữ liệu bằng cách xác định phần tử <link>
, trong đó thuộc tính rel
kết thúc bằng #post
. URL bài đăng của blog được cung cấp dưới dạng thuộc tính href
của phần tử này, có định dạng như sau:
https://www.blogger.com/feeds/blogID /posts/default
Lưu ý: URL này giống với URL trong thẻ <link rel="service.post">
xuất hiện trong phần <head>
của phiên bản blog có thể đọc được.
Blogger tạo một bài đăng trên blog bằng mục nhập mà bạn đã gửi, sau đó trả về mã trạng thái HTTP 201 CREATED
, cùng với một bản sao của bài đăng mới ở dạng phần tử <entry>
. Mục nhập được trả về giống với mục nhập bạn đã gửi, nhưng mục nhập này cũng chứa nhiều phần tử do Blogger thêm vào, chẳng hạn như phần tử <id>
.
Nếu yêu cầu của bạn không thành công vì lý do nào đó, Blogger có thể trả về một mã trạng thái khác. Để biết thông tin về mã trạng thái, hãy xem tài liệu tham khảo về giao thức API Dữ liệu của Google.
Tạo bài đăng nháp trên blog
Bài đăng nháp được tạo giống như bài đăng công khai, nhưng có thêm phần tử <app:control>
vào mục nhập cho biết rằng bài đăng (chưa) được xuất bản.
Phần tử <app:control>
này phải chứa một phần tử <app:draft>
duy nhất làm phần tử con:
<app:control xmlns:app='http://www.w3.org/2007/app'> <app:draft>yes</app:draft> </app:control>
Dữ liệu chứa trong phần tử <app:draft>
phải là chuỗi yes để bài đăng được nhận dạng là bản nháp.
Bạn có thể chuyển một bài đăng nháp hiện có trên blog thành bài đăng đã xuất bản bằng cách truy xuất bài đăng nháp, đặt dữ liệu của phần tử <app:draft>
thành chuỗi no, sau đó cập nhật bài đăng. Việc truy xuất và cập nhật bài đăng sẽ được đề cập trong hai phần tiếp theo.
Lưu ý: Để biết thêm thông tin về Giao thức phát hành Atom, bao gồm cả không gian tên <app:control>
và <app:draft>
, hãy xem RFC 5023.
Truy xuất bài đăng
Các phần sau đây mô tả cách truy xuất danh sách bài đăng trên blog, có và không có tham số truy vấn.
Bạn có thể truy vấn nguồn cấp dữ liệu công khai của Blogger mà không cần xác thực. Do đó, bạn không cần đặt thông số Uỷ quyền khi truy xuất bài đăng trên blog từ một blog công khai.
Truy xuất tất cả bài đăng trên blog
Để truy xuất bài đăng của người dùng, hãy gửi yêu cầu GET
HTTP đến URL nguồn cấp dữ liệu của blog. Sau đó, Blogger sẽ trả về một nguồn cấp dữ liệu chứa các mục nhập blog thích hợp. Ví dụ: để nhận danh sách bài đăng trên blog của liz@gmail.com, hãy gửi yêu cầu HTTP sau đây đến Blogger (tất nhiên, với giá trị thích hợp thay cho blogID
):
GET https://www.blogger.com/feeds/blogID /posts/default
Sau đó, Blogger sẽ trả về mã trạng thái HTTP 200 OK
và một nguồn cấp dữ liệu Atom 1.0 tiêu chuẩn chứa các bài đăng trên blog.
Sau đây là ví dụ về nguồn cấp dữ liệu cho một blog chỉ có một bài đăng. Xin lưu ý rằng chúng tôi đã chỉnh sửa một chút ví dụ này để dễ đọc hơn. Cụ thể, nguồn cấp dữ liệu thực trên Blogger chứa mã nhận dạng và URL thực tế.
<?xml version='1.0' encoding='utf-8'?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns='http://www.w3.org/2005/Atom' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'> <id>tag:blogger.com,1999:blog-blogID </id> <updated>2008-04-17T00:03:33.152-07:00</updated> <title>Lizzy's Diary</title> <subtitle type='html'></subtitle> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName .blogspot.com/feeds/posts/default' /> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /posts/default' /> <link rel='alternate' type='text/html' href='http://blogName .blogspot.com/' /> <author> <name>Elizabeth Bennet</name> <uri>http://www.blogger.com/profile/profileID </uri> <email>noreply@blogger.com</email> </author> <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator> <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'> <id>tag:blogger.com,1999:blog-blogID .post-postID </id> <published>2008-04-07T20:25:00.005-07:00</published> <updated>2008-04-07T20:25:37.132-07:00</updated> <title>Quite disagreeable</title> <content type='html'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></content> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /posts/default/postID ' /> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /posts/default/postID ' /> <link rel='alternate' type='text/html' href='http://blogName .blogspot.com/2008/04/quite-disagreeable.html' /> <author> <name>Elizabeth Bennet</name> <uri>http://www.blogger.com/profile/profileID </uri> <email>noreply@blogger.com</email> </author> </entry> </feed>
Truy xuất lại bài đăng trên blog
Nếu muốn truy xuất một bài đăng mà bạn đã truy xuất trước đó, bạn có thể cải thiện hiệu quả bằng cách yêu cầu Blogger chỉ gửi bài đăng nếu bài đăng đó đã thay đổi kể từ lần truy xuất gần đây nhất.
Để thực hiện loại truy xuất có điều kiện này, hãy gửi một yêu cầu GET
HTTP có chứa tiêu đề If-None-Match
HTTP. Trong tiêu đề, hãy chỉ định ETag của mục nhập mà bạn có thể tìm thấy trong thuộc tính gd:etag
của phần tử <entry>
.
Ví dụ:
If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."
Khi nhận được yêu cầu này, Blogger sẽ kiểm tra xem mục bạn yêu cầu có cùng ETag với ETag bạn chỉ định hay không. Nếu ETag khớp, thì mục nhập đó chưa thay đổi và Blogger sẽ trả về mã trạng thái HTTP 304 Not
Modified
.
Nếu ETag không khớp, thì mục đó đã được sửa đổi kể từ lần gần nhất bạn yêu cầu và Blogger sẽ trả về mục đó.
Để biết thêm thông tin về ETag, hãy xem Hướng dẫn tham khảo về API dữ liệu của Google.
Truy xuất bài đăng bằng tham số truy vấn
API Dữ liệu Blogger cho phép bạn yêu cầu một tập hợp các mục phù hợp với tiêu chí đã chỉ định, chẳng hạn như yêu cầu bài đăng trên blog được xuất bản hoặc cập nhật trong một phạm vi ngày nhất định.
Ví dụ: để gửi truy vấn theo phạm vi ngày, hãy thêm các tham số published-min
và published-max
vào URL yêu cầu. Để nhận tất cả các mục nhập blog được tạo từ ngày 16 tháng 3 năm 2008 đến ngày 24 tháng 3 năm 2008, hãy gửi một yêu cầu HTTP đến URL nguồn cấp dữ liệu của blog:
GET https://www.blogger.com/feeds/blogID /posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59
Khi bạn gửi yêu cầu GET
đó, Blogger sẽ trả về một mã trạng thái HTTP 200 OK
và một nguồn cấp dữ liệu chứa mọi bài đăng trên blog được tạo trong phạm vi ngày mà bạn chỉ định.
Bạn cũng có thể sử dụng các tham số updated-min
và updated-max
để cập nhật tất cả các mục trong blog trong một phạm vi nhất định. Tuy nhiên, xin lưu ý rằng các thông số này sẽ bị bỏ qua trừ phi thông số orderby
cũng được đặt thành updated
.
Blogger Data API hỗ trợ các tham số truy vấn sau:
- alt
- Loại nguồn cấp dữ liệu cần trả về, chẳng hạn như
atom
(mặc định) hoặcrss
. - /category
- Chỉ định danh mục (còn gọi là nhãn) để lọc kết quả của nguồn cấp dữ liệu. Ví dụ:
https://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie
trả về các mục có cả nhãnFritz
vàLaurie
. - max-results
- Số mục nhập tối đa cần trả về.
- orderby
- Thứ tự trả về các mục nhập, chẳng hạn như
lastmodified
(mặc định),starttime
hoặcupdated
. - published-min, published-max
- Giới hạn về ngày xuất bản mục nhập.
- start-index
- Chỉ mục dựa trên 1 của kết quả đầu tiên cần truy xuất (để phân trang).
- updated-min, updated-max
- Giới hạn về ngày cập nhật mục nhập. Các tham số truy vấn này sẽ bị bỏ qua trừ khi tham số
orderby
được đặt thànhupdated
. - đường dẫn
- Đường dẫn liên kết cố định của một bài đăng. Ví dụ: đối với một bài đăng có URL http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html, đường dẫn liên kết cố định là
/2011/08/bloggers-fresh-new-look.html
. - q
- Chuỗi truy vấn toàn văn. Tính năng này cho phép bạn tìm kiếm các bài đăng trên blog khớp với một cụm từ tìm kiếm.
Để biết thêm thông tin về các tham số truy vấn, hãy xem Hướng dẫn tham khảo API dữ liệu của Blogger và Hướng dẫn tham khảo API dữ liệu của Google.
Cập nhật bài đăng
Để cập nhật một bài đăng trên blog hiện có, trước tiên, bạn truy xuất mục bạn muốn cập nhật, sau đó sửa đổi mục đó, rồi gửi yêu cầu PUT
, với mục đã cập nhật trong nội dung thư, đến URL chỉnh sửa của bài đăng. Hãy đảm bảo rằng giá trị <id>
trong mục nhập mà bạn PUT
khớp chính xác với <id>
của mục nhập hiện có.
URL chỉnh sửa được làm nổi bật trong mục nhập sau:
<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'> <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'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></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>
LƯU Ý QUAN TRỌNG: Để đảm bảo khả năng tương thích chuyển tiếp, hãy đảm bảo rằng khi PUT
một mục đã cập nhật, bạn sẽ giữ lại tất cả XML có sẵn khi truy xuất mục đó từ Blogger. Nếu không, khi chúng ta triển khai nội dung mới và đưa các phần tử <new-awesome-feature>
vào nguồn cấp dữ liệu, ứng dụng của bạn sẽ không trả về các phần tử đó và người dùng sẽ bỏ lỡ. Tất cả thư viện ứng dụng API Dữ liệu của Google đều xử lý vấn đề này một cách chính xác, vì vậy, nếu đang sử dụng một trong các thư viện này, bạn đã sẵn sàng.
Lưu ý: Hiện tại, chúng tôi không hỗ trợ việc sửa đổi dữ liệu tác giả liên kết với bài đăng.
Mẹo khắc phục sự cố: Một số tường lửa chặn thông báo HTTP PUT
. Để giải quyết vấn đề này, bạn có thể thêm tiêu đề X-HTTP-Method-Override: PUT
vào yêu cầu POST
.
Để biết thông tin chi tiết, hãy xem tài liệu Kiến thức cơ bản về giao thức API Dữ liệu của Google.
Xoá bài đăng
Để xoá một bài đăng, hãy gửi yêu cầu DELETE
đến URL chỉnh sửa của bài đăng đó.
Đây cũng là URL dùng để cập nhật bài đăng.
Mẹo khắc phục sự cố: Một số tường lửa chặn thông báo HTTP DELETE
. Để giải quyết vấn đề này, bạn có thể thêm tiêu đề X-HTTP-Method-Override: DELETE
vào yêu cầu POST
. Để biết thông tin chi tiết, hãy xem tài liệu Kiến thức cơ bản về giao thức API Dữ liệu của Google.
Bình luận
Blogger Data API cho phép tạo, truy xuất và xoá bình luận. Tính năng cập nhật bình luận không được hỗ trợ (cũng không có trong giao diện web).
Tạo nhận xét
Để đăng bình luận, hãy tạo một phần tử <entry>
Atom như sau:
<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>
Để xuất bản nhận xét này, hãy đặt phần tử <entry>
của Atom vào phần nội dung của yêu cầu POST
mới, sử dụng loại nội dung application/atom+xml
. Sau đó, hãy gửi yêu cầu POST
đến URL Blogger thích hợp:
POST https://www.blogger.com/feeds/blogID /postID /comments/default
Lưu ý: Hiện tại, bạn chỉ có thể đăng bình luận lên một blog do người dùng đã xác thực sở hữu.
Lưu ý: Chúng tôi hiện không hỗ trợ tính năng đặt tác giả tuỳ chỉnh cho bình luận. Tất cả nhận xét mới sẽ xuất hiện như thể chúng do người dùng hiện đã được xác thực tạo ra.
Truy xuất bình luận
Bạn có thể truy xuất các bình luận cho một bài đăng cụ thể bằng cách gửi GET
đến URL của nguồn cấp dữ liệu bình luận của bài đăng này:
GET https://www.blogger.com/feeds/blogID /postID /comments/default
Hoặc bạn có thể lấy bình luận từ tất cả bài đăng bằng cách sử dụng URL nguồn cấp dữ liệu bình luận của blog:
GET https://www.blogger.com/feeds/blogID /comments/default
Các yêu cầu này trả về một nguồn cấp dữ liệu bình luận có dạng như sau:
<?xml version='1.0' encoding='utf-8'?> <?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?> <feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'> <id>tag:blogger.com,1999:blog-blogID .postpostID ..comments</id> <updated>2007-12-14T17:46:22.077-08:00</updated> <title>Comments on Lizzy's Diary: Quite disagreeable</title> <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://www.blogger.com/feeds/blogID /postID /comments/default' /> <link rel='alternate' type='text/html' href='http://blogName .blogspot.com/2007/12/quite-disagreeable_5283.html' /> <author> <name>Elizabeth Bennet</name> <uri>http://www.blogger.com/profile/profileID </uri> <email>noreply@blogger.com</email> </author> <generator version='7.00' uri='http://www.blogger.com'>Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'> <id>tag:blogger.com,1999:blog-blogID .post-commentID </id> <published>2007-12-14T17:46:00.001-08:00</published> <updated>2007-12-14T17:46:00.001-08:00</updated> <title>Darcy FTW!</title> <content type='html'>Darcy FTW!</content> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /postID /comments/default/commentID ' /> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID /postID /comments/default/commentID ' /> <link rel='alternate' type='text/html' href='http://blogName .blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID ' title='' /> <author> <name>Elizabeth Bennet</name> <uri>http://www.blogger.com/profile/profileID </uri> <email>liz@gmail.com</email> </author> <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blogName .blogspot.com/2007/12/quite-disagreeable_5283.html' ref='tag:blogger.com,1999:blog-blogID .post-postID ' source='http://www.blogger.com/feeds/blogID /posts/default/postID ' type='text/html' /> </entry> </feed>
Xoá bình luận
Để xoá một bình luận, hãy gửi yêu cầu DELETE
đến URL chỉnh sửa của bình luận đó. URL này được làm nổi bật trong nguồn cấp dữ liệu bình luận ở trên.
Định dạng xuất
Blogger cho phép người dùng xuất và nhập blog bằng tệp xuất của Blogger. Tệp xuất này chứa tất cả bài đăng và bình luận của một blog. Định dạng của tệp xuất là định dạng Atom giống hệt như định dạng được mô tả trong các phần về việc truy xuất bài đăng và bình luận. Tệp xuất này sẽ chứa nội dung của nguồn cấp dữ liệu bài đăng và nội dung của nguồn cấp dữ liệu bình luận được kết hợp thành một tài liệu.
Để xuất hoặc nhập dữ liệu blog bằng định dạng xuất, bạn có thể truy cập vào trang Cài đặt của blog. Để truy xuất tệp xuất cho một blog bằng Data API, hãy sử dụng URL sau:
GET https://www.blogger.com/feeds/blogID /archive
Để nhập tệp xuất, hãy tạo một yêu cầu POST
đến
URL sau đây với nội dung của tệp xuất làm dữ liệu yêu cầu và
application/atom+xml
làm loại nội dung:
POST https://www.blogger.com/feeds/blogID /archive/full
Cả hai URL ở trên đều không hỗ trợ tham số truy vấn. Cả hai yêu cầu cũng phải chứa thông tin xác thực và chỉ quản trị viên blog mới có thể nhập/xuất blog bằng các URL nguồn cấp dữ liệu này.
Lưu ý: Nếu bạn đang tạo tệp xuất của riêng mình trên Blogger, thì hiện có một hạn chế về thứ tự của các mục nhập bài đăng và nhận xét. Tệp xuất trên Blogger sẽ liệt kê tất cả bài đăng trước, sau đó là tất cả bình luận. Bạn được phép xen kẽ các mục đăng và bình luận miễn là mục bình luận nằm sau mục đăng mà bình luận đó dành cho.
Để biết thêm thông tin về cách Blogger sử dụng định dạng Atom trong tệp xuất, hãy xem Hướng dẫn tham khảo về giao thức.