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ý:
- 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.
- 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.)
- 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ẽ 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.
- Ứ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 đượ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.