API JSON của Blogger: Sử dụng API

Lưu ý quan trọng: Chúng tôi sẽ ngừng hỗ trợ API JSON phiên bản 2.0 kể từ ngày 30 tháng 9 năm 2024. Để đảm bảo khả năng hoạt động liên tục, hãy cập nhật các ứng dụng dựa trên API JSON 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.

Tài liệu này mô tả cách sử dụng các tính năng phổ biến của API JSON của Blogger bằng kiểu gọi RESTful.

Nội dung

Giới thiệu

Tài liệu này dành cho các nhà phát triển muốn viết các ứng dụng có thể tương tác với API JSON của Blogger. Blogger là một công cụ để tạo trang web cho phép mọi người xuất bản suy nghĩ của mình về cơ sở.

Nếu chưa hiểu rõ các khái niệm của Blogger, bạn nên đọc Bắt đầu trước khi bắt đầu viết mã.

Uỷ quyền cho yêu cầu và nhận dạng ứng dụng của bạn

Mọi yêu cầu mà ứng dụng của bạn gửi tới API JSON của Blogger đều cần phải xác định ứng dụng của bạn cho Google. Có hai cách để xác định ứng dụng: sử dụng mã thông báo OAuth 2.0 (mã cho phép yêu cầu) và/hoặc dùng khoá API của ứng dụng. Dưới đây là cách xác định xem bạn nên chọn phương án nào sử dụng:

  • Nếu yêu cầu cần được cho phép (chẳng hạn như yêu cầu về dữ liệu cá nhân), thì ứng dụng phải cung cấp mã thông báo OAuth 2.0 cùng với yêu cầu. Ứng dụng cũng có thể cung cấp khoá API, nhưng không có sang.
  • Nếu yêu cầu không yêu cầu uỷ quyền (chẳng hạn như yêu cầu dữ liệu công khai), thì ứng dụng phải cung cấp khoá API hoặc mã thông báo OAuth 2.0 hoặc cả hai – bất kỳ lựa chọn nào thuận tiện nhất cho bạn.

Giới thiệu về giao thức cấp phép

Ứng dụng của bạn phải sử dụng OAuth 2.0 để cho phép thực hiện các yêu cầu. Chúng tôi không hỗ trợ giao thức cấp phép nào khác.

Lưu ý: API JSON của Blogger hiện không hỗ trợ tính năng ghi nhật ký cùng lúc với việc yêu cầu quyền truy cập dữ liệu (kết hợp) hoặc trên toàn miền uỷ quyền thẩm quyền (2LO).

Uỷ quyền cho các yêu cầu bằng OAuth 2.0

Yêu cầu đối với API JSON 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. Nội dung sau đây quy trình chung áp dụng cho tất cả các loại đơn đăng ký:

  1. Khi tạo ứng dụng, bạn sẽ đăng ký với Google. Google sau đó 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à bí mật.
  2. Kích hoạt Blogger JSON API trong ngăn Dịch vụ của Google API Console. (Nếu mã không được liệt kê trong Bảng điều khiển, hãy bỏ qua bước này.)
  3. 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ể.
  4. 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ọ.
  5. Nếu người dùng đồng ý, thì Google sẽ cung cấp cho ứng dụng của bạn một khoảng thời gian ngắn hạn mã truy cập.
  6. Ứ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.
  7. 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 được yêu cầu.

Một số quy trình bao gồm các bước bổ sung, chẳng hạn như sử dụng thao tác làm mới mã truy cập để lấy mã truy cập mới. Để biết thông tin chi tiết về quy trình cho nhiều loại ứng dụng, 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 OAuth 2.0 cho API JSON của Blogger:

https://www.googleapis.com/auth/blogger

Để 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 Google API có thể xử lý một số bước trong quy trình cấp phép cho bạn. Chúng có sẵn cho nhiều ngôn ngữ lập trình; hãy xem trang Thư viện và mẫu để chi tiết hơn.

Nhận và sử dụng khoá API

Yêu cầu API JSON của Blogger đối với dữ liệu công khai phải kèm theo một giá trị nhận dạng, có thể là khoá API hoặc mã thông báo xác thực.

Để lấy khoá API, hãy truy cập vào Bảng điều khiển API. Trong Dịch vụ ngăn [api_name]; nếu Điều khoản dịch vụ xuất hiện, hãy đọc và chấp nhận chúng.

Tiếp theo, hãy chuyển đến ngăn Quyền truy cập API. Khoá API nằm ở gần cuối ngăn đó, trong mục có tiêu đề "Simple API Access" (Truy cập API đơn giản).

Sau khi bạn có khoá API, ứng dụng của bạn có thể thêm tham số truy vấn key=yourAPIKey cho tất cả yêu cầu URL.

Khoá API này an toàn khi nhúng trong URL; nó không cần bất kỳ phương thức mã hoá nào.

Làm việc với Blog

Truy xuất blog

Bạn có thể truy xuất thông tin cho một Tài nguyên blog cụ thể bằng cách gửi yêu cầu HTTP GET đến URI của Blog. URI cho Tài nguyên blog có định dạng như sau:

https://www.googleapis.com/blogger/v2/blogs/blogId

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY

Vì người dùng không cần được xác thực để truy xuất Blog công khai, nên bạn không cần cung cấp tiêu đề HTTP Authorization với yêu cầu GET này; nhưng nếu không cung cấp tiêu đề đó, thì bạn cần cung cấp khoá API.

Blogger cũng có Blog riêng tư, các blog này yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng một HTTP Mã trạng thái 200 OK và dữ liệu blog:

200 OK

{
  "kind": "blogger#blog",
  "id": "2399953",
  "name": "Blogger Buzz",
  "description": "The Official Buzz from Blogger at Google",
  "published": "2007-04-23T22:17:29.261Z",
  "updated": "2011-08-02T06:01:15.941Z",
  "url": "http://buzz.blogger.com/",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953",
  "posts": {
    "totalItems": 494,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts"
  },
  "pages": {
    "totalItems": 2,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages"
  },
  "locale": {
    "language": "en",
    "country": "",
    "variant": ""
  }
}

Truy xuất blog của người dùng

Bạn có thể truy xuất danh sách blog của người dùng bằng cách gửi một yêu cầu HTTP GET vào URI Bộ sưu tập Blog:

https://www.googleapis.com/blogger/v2/users/userId/blogs

Yêu cầu

Dưới đây là ví dụ về yêu cầu GET liệt kê blog của người dùng:

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

Lưu ý: Người dùng phải được xác thực để liệt kê blog của họ, nên bạn phải cung cấp giao thức HTTP Authorization với yêu cầu GET.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng một HTTP Mã trạng thái 200 OK và bản trình bày đầy đủ về danh sách thông tin người dùng blog:

200 OK

{
  "kind": "blogger#blogList",
  "items": [
    {
      "kind": "blogger#blog",
      "id": "4967929378133675647",
      "name": "Brett's Test Blawg",
      "description": "",
      "published": "2010-10-06T23:33:31.662Z",
      "updated": "2011-08-08T06:50:02.005Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647",
      "posts": {
        "totalItems": 13,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts"
      },
      "pages": {
        "totalItems": 1,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages"
      },
      "locale": {
        "language": "en",
        "country": "",
        "variant": ""
      }
    }
  ]
}

Làm việc với bài đăng

Truy xuất bài đăng từ blog

Bạn có thể truy xuất danh sách Bài đăng từ một Blog nhất định bằng cách gửi Yêu cầu GET đối với URI thu thập bài đăng. URI cho một Bài đăng Bộ sưu tập có định dạng sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

Vì người dùng không cần được xác thực để truy xuất Bài đăng từ một Blog công khai, nên bạn không cần cung cấp tiêu đề HTTP Authorization với yêu cầu GET này; nhưng nếu không cung cấp tiêu đề đó, thì bạn cần cung cấp khoá API.

Blogger cũng có Blog riêng tư, các blog này yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng mã trạng thái HTTP 200 OK và danh sách Bài đăng:

200 OK

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

Truy xuất một bài đăng cụ thể

Bạn có thể truy xuất một Bài đăng cụ thể từ một Blog bằng cách gửi một Yêu cầu GET đối với URI tài nguyên bài đăng. URI cho một Bài đăng Tài nguyên có định dạng như sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

Vì người dùng không cần được xác thực để truy xuất Bài đăng từ một Blog công khai, nên bạn không cần cung cấp tiêu đề HTTP Authorization với yêu cầu GET này; nhưng nếu không cung cấp tiêu đề đó, thì bạn cần cung cấp khoá API.

Blogger cũng có Blog riêng tư, các blog này yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng một HTTP Mã trạng thái 200 OK và nội dung của Bài đăng:

200 OK

{
  "kind": "blogger#post",
  "id": "7706273476706534553",
  "blog": {
    "id": "2399953"
  },
  "published": "2011-08-01T19:58:00.000Z",
  "updated": "2011-08-01T19:58:51.947Z",
  "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
  "title": "Latest updates, August 1st",
  "content": "elided for readability",
  "author": {
    "id": "401465483996",
    "displayName": "Brett Wiltshire",
    "url": "http://www.blogger.com/profile/01430672582309320414",
    "image": {
      "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
    }
  },
  "replies": {
    "totalItems": "0",
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
  }
}

Cách xử lý bình luận

Truy xuất bình luận của bài đăng

Bạn có thể truy xuất danh sách Nhận xét cho một Bài đăng bằng cách gửi Yêu cầu GET đến URI thu thập bình luận. URI cho một Bộ sưu tập bình luận có định dạng như sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

Vì người dùng không cần phải được xác thực để truy xuất Bình luận từ Blog công khai, bạn thì không cần cung cấp tiêu đề HTTP Authorization bằng Yêu cầu GET; nhưng nếu không cung cấp tiêu đề đó thì bạn cần phải cung cấp khoá API.

Blogger cũng có Blog riêng tư, các blog này yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng một HTTP Mã trạng thái 200 OK và danh sách nhận xét:

200 OK

{
  "kind": "blogger#commentList",
  "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ",
  "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ",
  "items": [
    {
       "kind": "blogger#comment",
       "id": "9200761938824362519",
       "post": {
         "id": "6069922188027612413"
       },
       "blog": {
         "id": "2399953"
       },
       "published": "2011-07-28T19:19:57.740Z",
       "updated": "2011-07-28T21:29:42.015Z",
       "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
       "content": "elided",
       "author": {
         "id": "530579030283",
         "displayName": "elided",
         "url": "elided",
         "image": {
           "url": "elided"
         }
       }
    },
    {
      "kind": "blogger#comment",
      "id": "400101178920857170",
      elided for readability
    }
  ]
}

Truy xuất một nhận xét cụ thể

Bạn có thể truy xuất một Nhận xét cụ thể từ một Bài đăng bằng cách gửi Yêu cầu GET đối với URI tài nguyên nhận xét. URI cho một Tài nguyên Nhận xét có định dạng như sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

Vì người dùng không cần phải được xác thực để truy xuất Bình luận từ Blog công khai, bạn thì không cần cung cấp tiêu đề HTTP Authorization bằng Yêu cầu GET; nhưng nếu không cung cấp tiêu đề đó thì bạn cần phải cung cấp khoá API.

Blogger cũng có Blog riêng tư, các blog này yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng một HTTP Mã trạng thái 200 OK và dữ liệu nhận xét:

200 OK

{
  "kind": "blogger#comment",
  "id": "9200761938824362519",
  "post": {
    "id": "6069922188027612413"
  },
  "blog": {
    "id": "2399953"
  },
  "published": "2011-07-28T19:19:57.740Z",
  "updated": "2011-07-28T21:29:42.015Z",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
  "content": "elided",
  "author": {
    "id": "530579030283",
    "displayName": "elided",
    "url": "elided",
    "image": {
      "url": "elided"
    }
  }
}

Làm việc với trang

Truy xuất trang cho blog

Bạn có thể truy xuất danh sách các Trang cho một Blog bằng cách gửi Yêu cầu GET đến URI thu thập trang. URI cho một trang Bộ sưu tập có định dạng sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

Vì người dùng không cần phải được xác thực để truy xuất Trang từ Blog công khai, bạn thì không cần cung cấp tiêu đề HTTP Authorization bằng yêu cầu GET; nhưng nếu không cung cấp tiêu đề đó thì bạn cần phải cung cấp khoá API.

Blogger cũng có các Blog riêng tư, yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng mã trạng thái HTTP 200 OK và danh sách Trang:

200 OK

{
  "kind": "blogger#pageList",
  "items": [
    {
      "kind": "blogger#page",
      "id": "273541696466681878",
      "blog": {
        "id": "4967929378133675647"
      },
      "published": "2011-07-14T16:16:00.000Z",
      "updated": "2011-07-14T16:16:23.602Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
      "title": "Static Content",
      "content": "elided for readability",
      "author": {
        "id": "901569848744",
        "displayName": "brett",
        "url": "http://www.blogger.com/profile/16258312240222542576",
        "image": {
          "url": "https://resources.blogblog.com/img/b16-rounded.gif"
        }
      }
    }
  ]
}

Truy xuất một trang cụ thể

Bạn có thể truy xuất một Trang cụ thể từ một Blog bằng cách gửi yêu cầu GET đến URI tài nguyên Trang. URI cho Tài nguyên trang có định dạng sau:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

Yêu cầu

Dưới đây là ví dụ:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

Vì người dùng không cần phải được xác thực để truy xuất Trang từ Blog công khai, bạn thì không cần cung cấp tiêu đề HTTP Authorization bằng yêu cầu GET; nhưng nếu không cung cấp tiêu đề đó thì bạn cần phải cung cấp khoá API.

Blogger cũng có các Blog riêng tư, yêu cầu xác thực.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng mã trạng thái HTTP 200 OK và dữ liệu trang:

200 OK

{
  "kind": "blogger#page",
  "id": "273541696466681878",
  "blog": {
    "id": "4967929378133675647"
  },
  "published": "2011-07-14T16:16:00.000Z",
  "updated": "2011-07-14T16:16:23.602Z",
  "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
  "title": "Static Content",
  "content": "elided for readability",
  "author": {
    "id": "901569848744",
    "displayName": "brett",
    "url": "http://www.blogger.com/profile/16258312240222542576",
    "image": {
      "url": "https://resources.blogblog.com/img/b16-rounded.gif"
    }
  }
}

Làm việc với người dùng

Truy xuất người dùng

Bạn có thể truy xuất thông tin của người dùng bằng cách gửi yêu cầu HTTP GET vào URI tài nguyên của người dùng:

https://www.googleapis.com/blogger/v2/users/userId

Yêu cầu

Dưới đây là ví dụ về yêu cầu GET liệt kê blog của người dùng:

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

Lưu ý: Người dùng phải được xác thực để liệt kê thông tin của riêng chúng, nên bạn phải cung cấp giao thức HTTP Authorization với yêu cầu GET.

Phản hồi

Nếu yêu cầu thành công, máy chủ sẽ phản hồi bằng mã trạng thái HTTP 200 OK và đường liên kết đến danh sách blog của người dùng:

200 OK

{
  "kind": "blogger#user",
  "id": "901569848744",
  "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744",
  "blogs": {
    "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs"
  }
}

Tham số truy vấn chuẩn

Các tham số truy vấn sau có thể dùng với tất cả phương thức và mọi tài nguyên trong API Blogger.

Các tham số truy vấn áp dụng cho tất cả các thao tác của API Blogger được ghi lại tại Tham số hệ thống.