Hướng dẫn tham chiếu

Lưu ý quan trọng: Đây là phiên bản cũ của trang này. Để 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.

Tài liệu này cung cấp tài liệu tham khảo chi tiết về giao thức thô (XML và HTTP) dành cho API Dữ liệu của Blogger.

Tài liệu này không chứa thông tin về thư viện ứng dụng của ngôn ngữ lập trình. Để biết thông tin tham khảo về thư viện ứng dụng, hãy xem các đường liên kết từ các phần dành riêng cho ngôn ngữ lập trình trong hướng dẫn của nhà phát triển.

Nội dung

Đối tượng người xem

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.

Đây là một tài liệu tham khảo; tài liệu này giả định rằng bạn hiểu rõ các khái niệm được trình bày trong hướng dẫn dành cho nhà phát triển và các ý tưởng chung về giao thức API Dữ liệu của Google.

Các loại nguồn cấp dữ liệu Blogger

Blogger cung cấp hai cách biểu thị nội dung blog trong nguồn cấp dữ liệu: nguồn cấp dữ liệu đầy đủ và nguồn cấp dữ liệu tóm tắt. Nguồn cấp dữ liệu đầy đủ chứa các bài đăng đầy đủ trên blog, trong khi nguồn cấp dữ liệu tóm tắt chỉ chứa một đoạn trích ngắn của mỗi bài đăng.

Chủ sở hữu của blog có thể chỉ định bằng các chế độ cài đặt GUI (Giao diện người dùng đồ hoạ) để chỉ định liệu blog có cung cấp nguồn cấp dữ liệu đầy đủ hay nguồn cấp dữ liệu tóm tắt cho các bên cung cấp thông tin và đơn vị tổng hợp hay không.

Khi ứng dụng khách của bạn gửi một yêu cầu chưa được xác thực cho một nguồn cấp dữ liệu, ứng dụng sẽ nhận được bất kỳ loại nguồn cấp dữ liệu nào mà chủ sở hữu blog đã chỉ định.

Tuy nhiên, khi ứng dụng khách của bạn gửi một yêu cầu đã xác thực, ứng dụng đó luôn nhận được nguồn cấp dữ liệu đầy đủ, bất kể chủ sở hữu blog đã chỉ định gì.

Tài liệu tham khảo về tham số truy vấn của Blogger

Blogger Data API hỗ trợ hầu hết mọi tham số truy vấn tiêu chuẩn của Google Data API.

Blogger không hỗ trợ các tham số q (tìm kiếm văn bản) và author.

Các tham số truy vấn updated-minupdated-max sẽ bị bỏ qua trừ phi bạn đặt tham số orderby thành updated. Ví dụ: URL sau truy xuất tất cả các bài đăng trên blog đã được cập nhật từ ngày 16 tháng 3 năm 2008 đến ngày 24 tháng 3 năm 2008:

http://www.blogger.com/feeds/blogID/posts/default?updated-min=2008-03-16T00:00:00&updated-max=2008-03-24T23:59:59&orderby=updated

Tài liệu tham khảo về các yếu tố của Blogger

API dữ liệu Blogger chỉ sử dụng các phần tử Atom tiêu chuẩn. Để biết thêm thông tin, hãy xem thông số kỹ thuật về định dạng phân phối Atom 1.0Giao thức xuất bản Atom.

Nội dung còn lại của phần này cung cấp một số lưu ý cụ thể về cách Blogger sử dụng một số phần tử tiêu chuẩn.

Mục dự thảo

Một bài viết nháp trên blog được đánh dấu bằng phần tử tiện ích <app:draft> đã xác định trong tài liệu về Giao thức xuất bản Atom. Dưới đây là ví dụ về một mục nhập nháp:

<entry xmlns:app='http://purl.org/atom/app#'>
...
<app:control>
<app:draft>yes</app:draft>
</app:control>
</entry>

Nếu bạn không chỉ định phần tử <draft> nào, thì mục nhập không phải là bản nháp.

Ngày xuất bản và ngày cập nhật

Dấu thời gian được cung cấp trong phần tử <published> tiêu chuẩn của Atom tương ứng với "ngày đăng" mà người dùng có thể đặt trong GUI của Blogger.

Khi ứng dụng của bạn tạo một mục nhập mới, nếu ứng dụng không chỉ định giá trị cho <published>, thì Blogger sẽ đặt ngày đăng của mục nhập là giờ trên máy chủ hiện tại. Khi khách hàng của bạn chỉnh sửa một mục nhập nhưng không chỉ định giá trị <published>, Blogger sẽ để nguyên ngày đăng của mục nhập đó.

Tuy nhiên, nếu ứng dụng của bạn chỉ định một giá trị cho phần tử <published> khi tạo hoặc chỉnh sửa mục, thì Blogger sẽ đặt ngày đăng của mục đó thành giá trị được chỉ định. Điều này có thể hữu ích cho các công việc như nhập các mục cũ từ một hệ thống viết blog khác (trong khi vẫn giữ nguyên ngày tạo ban đầu).

Blogger sử dụng phần tử Atom <updated> tiêu chuẩn để cho biết thời điểm thay đổi gần đây nhất của một mục. Ứng dụng khách của bạn không thể kiểm soát giá trị <updated>; Blogger luôn đặt ngày cập nhật gần đây nhất của mục nhập thành giờ máy chủ hiện tại bất cứ khi nào ứng dụng khách của bạn đăng hoặc chỉnh sửa mục nhập.

Bạn có thể sử dụng các tham số truy vấn chuẩn của Google Data API published-min, published-max, updated-minupdated-max để yêu cầu các mục nhập dựa trên giá trị <published> hoặc <updated> của chúng. Tuy nhiên, để biết ghi chú về việc truy vấn vào các ngày cập nhật, hãy xem Tài liệu tham khảo về tham số truy vấn của Blogger.

Liên kết nhận xét với bài đăng

Định dạng xuất của Blogger chứa cả bài đăng và mục bình luận trong một tài liệu nguồn cấp dữ liệu Atom. Để phân biệt giữa 2 loại mục này, Blogger sử dụng phần tử <atom:category>. Phần tử này sẽ có tham số term cho biết mục nhập là dành cho một bài đăng hay một bình luận.

Hơn nữa, việc liên kết mục bình luận với bài đăng chứa mục đó cũng phải được thực hiện thông qua việc sử dụng Tiện ích tạo luồng Atom. Trong ví dụ bên dưới, phần tử <thr:in-reply-to> trong mục nhập bình luận sẽ trỏ đến bài đăng bằng cách sử dụng giá trị nhận dạng mục nhập bài đăng trong tham số ref. Nó cũng liên kết đến URL HTML của bài đăng thông qua tham số href.

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/"
      xmlns:thr="http://purl.org/syndication/thread/1.0">
  ...

  <-- A blog post entry -->
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <content type="html">This is my first post</content>
    <link rel="alternate" type="text/html"
      href="http://blogName.blogspot.com/2007/04/first-post.html">
    </link>
    <category scheme="http://schemas.google.com/g/2005#kind" 
              term="http://schemas.google.com/blogger/2008/kind#post"/>
    ...
  </entry>

  <-- A comment to the blog post entry -->
  <entry>
    <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id>
    <content type="html">This is my first commment</content>
    <category scheme="http://schemas.google.com/g/2005#kind" 
              term="http://schemas.google.com/blogger/2008/kind#comment"/>
    <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" 
                     ref="tag:blogger.com,1999:blog-blogID.post-postID" 
                     type="text/html"/>
    ...
  </entry>
</feed>

Trở lại đầu trang