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. Để xem 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 trên 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ể dùng Blogger Data API để tạo blog mới bài đăng, chỉnh sửa hoặc xoá các bài đăng hiện có trên blog và truy vấn các bài đăng trên blog phù hợp tiêu chí cụ thể.
Ngoài việc cung cấp một số thông tin cơ bản về những khả năng của Blogger Data API. Tài liệu này đưa ra ví dụ về các hoạt động tương tác cơ bản với Data API XML và HTTPS thô. 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ý Tài khoản Blogger để thử nghiệm. Blogger sử dụng Tài khoản Google, vì vậy nếu bạn khi đã có Tài khoản Google, thế là bạn đã hoàn tất.
Ủ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 để cho phép thực hiện các yêu cầu.
Blogger GData API 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 trong 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 trên toàn miền uy tí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.
Thông tin chi tiết về quy trình uỷ quyền, hoặc "quy trình" cho OAuth 2.0 khác nhau 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ý 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, đí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 của OAuth 2.0 cho Blogger API GData:
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 có phạm vi thông tin, cũng như thông tin mà Google cung cấp trong quá trình đăng ký đăng ký (chẳng hạn như ID ứng dụng khách và/hoặc mật khẩu ứng dụng khách).
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. Chúng có sẵn cho nhiều ngôn ngữ lập trình; hãy xem Thư viện và thẻ Đoạn nhạc để biết thêm thông tin 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 cung cấp phù hợp
tự động tiêu đề phiên bản, vì vậy đừng sử dụng tham số truy vấn v=2
khi bạn đang 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 một HTTP GET
đến URL sau để truy xuất danh sách các blog:
https://www.blogger.com/feeds/profileID/blogs
Trong đó, mã hồ sơ là số trong URL cho trang hồ sơ của người dùng.
Lưu ý: Bạn cũng có thể thay thế
default
cho User ID, cho phép 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 tham khảo về giao thức API dữ liệu hoặc Atom Quy cách 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ả lại 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, như cũng như tạo bản thảo của các mục nhập.
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 bản trình bày XML về bài đăng mà bạn muốn xuất bản. Tệp XML này cần có 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 ý: Việc đặt tác giả tùy chỉnh cho bài đăng là hiện không được hỗ trợ. Tất cả các bài đăng mới sẽ xuất hiện như thể chúng được tạo bởi người dùng hiện được xác thực.
Để 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. Đầu tiên,
đặt phần tử Atom <entry>
vào phần nội dung của phần tử mới
Yêu cầu POST
, sử dụng nội dung application/atom+xml
loại. 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 của bài đăng trên blog này được gán tên là href
của phần tử này, ở định dạng 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 bài đăng trên blog bằng mục nhập bạn đã gửi, sau đó trả về một HTTP
201 CREATED
mã trạng thái, cùng với bản sao của bài đăng mới trong
của một 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 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 theo cách tương tự 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 không nên (chưa) được xuất bản.
Phần tử <app:control>
này phải chứa một phần tử duy nhất
Phần tử <app:draft>
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 có trong phần tử <app:draft>
phải là
chuỗi yes để bài đăng được công nhận là bài đăng nháp.
Bạn có thể chuyển 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, rồi cập nhật bài đăng. 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 tham số Uỷ quyền khi truy xuất bài đăng trên blog 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 HTTP GET
tới
URL nguồn cấp dữ liệu của blog. Sau đó, Blogger trả về nguồn cấp dữ liệu chứa blog phù hợp
mục nhậ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 là 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 gần nhất bạn truy xuất.
Để thực hiện loại truy xuất có điều kiện này, hãy gửi một HTTP GET
bao gồm tiêu đề HTTP If-None-Match
. Trong tiêu đề,
chỉ định ETag của mục nhập mà bạn có thể tìm thấy trong <entry>
thuộc tính gd:etag
của phần tử.
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 trả về mã trạng thái HTTP 304 Not
Modified
.
Nếu ETag không khớp, thì mục nhập đã được sửa đổi kể từ lần thời gian bạn yêu cầu và Blogger trả lại mục nhập.
Để 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. Để có tất cả
các mục blog được tạo từ ngày 16 tháng 3 năm 2008 đến ngày 24 tháng 3 năm 2008, gửi một HTTP
yêu cầu 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 trên 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ả 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 nhập 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
. - phút xuất bản, tối đa được xuất bản
- 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).
- tối thiểu cập nhật, cập nhật tối đa
- 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ừ phi bạn đặt tham số
orderby
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.
Đang 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. Đảm bảo rằng
Giá trị <id>
trong mục nhập mà bạn PUT
khớp chính xác
<id>
của mục nhập hiện tại.
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 <new-awesome-feature>
vào
trong nguồn cấp dữ liệu, khách hàng của bạn sẽ không trả lại các phần tử đó và người dùng của bạn sẽ bỏ lỡ
bị loại. Nhóm Google
Tất cả các thư viện ứng dụng API Dữ liệu đều xử lý chính xác vấn đề này, vì vậy nếu bạn đang sử dụng
một trong những thư viện bạn đã thiết lập xong.
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 HTTP
PUT
tin nhắn. Để giải quyết vấn đề này, bạn có thể thêm
Tiêu đề X-HTTP-Method-Override: PUT
trong yêu cầu POST
.
Để biết chi tiết, hãy xem Google Data API
tài liệu cơ bản về giao thức.
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 HTTP
DELETE
tin nhắn. Để giải quyết vấn đề này, bạn có thể thêm
Tiêu đề X-HTTP-Method-Override: DELETE
trong POST
yêu cầu. Để biết chi tiết, hãy xem Google Data API
tài liệu cơ bản về giao thức.
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 nhận xét không được hỗ trợ (hoặc tính năng này cũng không có trên web giao diện).
Đang tạo nhận xét
Để đăng bình luận, hãy tạo một phần tử Atom <entry>
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>
Để đăng nhận xét này, hãy đặt phần tử Atom <entry>
của bạn
trong 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 ý: Việc đặt tác giả tuỳ chỉnh cho bình luận mới là hiện không được hỗ trợ. 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 nhận xét cho một bài đăng cụ thể bằng cách gửi
GET
vào URL 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>
Đang xoá bình luận
Để xoá một bình luận, hãy gửi yêu cầu DELETE
đến phần chỉnh sửa của bình luận đó
URL. URL này được làm nổi bật trong phần bình luận bê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ính năng xuất trên Blogger tệp. Tệp xuất này chứa tất cả bài đăng và bình luận của một blog. Chiến lược phát hành đĩa đơn cho tệp xuất giống hệt như định dạng Atom được mô tả trong về cách truy xuất bài đăng và nhận xét. Tệp xuất này sẽ chứa kết hợp 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 vào 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 Trang Cài đặt cho blog. Để truy xuất tệp xuất cho một trang web 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
cho phương thức
URL tiếp theo với nội dung của tệp xuất dưới dạng 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 phải cũng chứa thông tin xác thực và chỉ quản trị viên blog sẽ có thể nhập/xuất blog bằng nguồn cấp dữ liệu này URL.
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.