Tổng quan

API Đồ thị là cách chính để tải dữ liệu vào hoặc lấy dữ liệu ra khỏi nền tảng Facebook. Đó là API dựa trên HTTP cấp thấp mà ứng dụng có thể sử dụng để truy vấn dữ liệu, đăng tin mới, quản lý quảng cáo, tải ảnh lên và thực hiện nhiều tác vụ khác theo lập trình.

Kiến thức cơ bản

API Đồ thị được đặt tên theo ý tưởng của "đồ thị xã hội" - một bản trình bày thông tin trên Facebook. API Đồ thị bao gồm:

  • nút - về cơ bản là các đối tượng riêng như Người dùng, Ảnh, Trang, Bình luận
  • cạnh - các kết nối giữa bộ sưu tập nhiều đối tượng và một đối tượng, chẳng hạn như Ảnh trên Trang hoặc Bình luận về Ảnh
  • trường - dữ liệu về một đối tượng, chẳng hạn như ngày sinh của Người dùng hoặc tên Trang

Thông thường, bạn sử dụng nút để lấy dữ liệu về một đối tượng cụ thể, sử dụng cạnh để lấy bộ sưu tập các đối tượng trên một đối tượng và sử dụng trường để lấy dữ liệu về một đối tượng hoặc mỗi đối tượng trong một bộ sưu tập.

HTTP

API Đồ thị dựa trên HTTP nên API này hoạt động với bất kỳ ngôn ngữ nào có thư viện HTTP, chẳng hạn như cURL và urllib. Điều này nghĩa là bạn có thể sử dụng API Đồ thị trực tiếp trong trình duyệt của mình. Ví dụ: yêu cầu URL này trong trình duyệt của bạn...

https://graph.facebook.com/facebook/picture?redirect=false

... tương đương với thực hiện yêu cầu cURL sau:

curl -i -X GET \
 "https://graph.facebook.com/facebook/picture?redirect=false&access_token={valid-access-token-goes-here}"

Mã truy cập

Bạn có thể nhận thấy giá trị phần giữ chỗ và thông số access_token trong yêu cầu cURL ở trên. Hầu hết các yêu cầu API Đồ thị đều cần mã truy cập. Cuối cùng, bạn phải biết cách hoạt động của mã truy cập bằng cách đọc tài liệu về mã truy cập, nhưng hiện tại, tất cả những gì bạn cần biết là:

  • hầu như tất cả các yêu cầu API Đồ thị đều cần một loại mã truy cập nào đó và
  • cách dễ nhất để lấy mã truy cập là triển khai Đăng nhập Facebook.

Các ví dụ về yêu cầu mã giả/phản hồi trong tài liệu về API Đồ thị của chúng tôi sẽ không đề cập rõ đến mã truy cập, nhưng bạn nên giả định rằng yêu cầu có mã truy cập để nhận được phản hồi.

Cấu trúc

Chúng tôi trình bày vấn đề này một cách toàn diện trong Hướng dẫn sử dụng API Đồ thị của mình, nhưng nói chung bạn:

  • sử dụng nút để lấy dữ liệu về từng đối tượng
  • sử dụng cạnh để lấy bộ sưu tập đối tượng được kết nối với một nút hoặc để đăng đối tượng lên các bộ sưu tập đó
  • sử dụng trường để chỉ định dữ liệu bạn muốn có trong phản hồi

URL lưu trữ

Hầu như tất cả các yêu cầu đều được chuyển đến URL lưu trữ graph.facebook.com. Ngoại lệ duy nhất là video tải lên sử dụng graph-video.facebook.com.

ID đối tượng

Nút là các đối tượng riêng, mỗi nút lại có một ID, do đó, để có thông tin về một nút, bạn phải truy vấn trực tiếp ID của nút đó. Ví dụ: Trang Facebook chính thức có ID là 20531316728. Bạn truy vấn Trang trực tiếp bằng cách sử dụng ID của Trang:

GET graph.facebook.com
  /20531316728

Nếu muốn lấy dữ liệu cụ thể (được gọi là trường) về một nút, bạn có thể thêm thông số fields và chỉ định các trường mình muốn có trong phản hồi trả về. Khi xem nhanh tài liệu tham khảo về nút Trang, bạn sẽ thấy rằng một trong các trường mình có thể nhận được khi đọc một đối tượng Trang là trường cover, chính là ảnh bìa của Trang. Đây là hình thức của truy vấn đó:

GET graph.facebook.com
  /20531316728?fields=cover

Hầu hết các nút đều có cạnh. Những cạnh này có thể trả về bộ sưu tập các đối tượng được kết nối với nút đó. Để truy vấn một cạnh, bạn có thể sử dụng cả ID nút và tên cạnh. Một trong các cạnh được liệt kê trong tài liệu tham khảo về nút Trang là cạnh photos. Cạnh này trả về tất cả các đối tượng Ảnh mà Trang sở hữu. Vì vậy, để có tất cả các ảnh mà trang Facebook sở hữu, bạn phải truy vấn cạnh photos của nút:

GET graph.facebook.com
  /20531316728/photos

Một số nút cho phép bạn cập nhật trường bằng thao tác POST. Ví dụ: nếu bạn là Quản trị viên Trang Facebook, bạn có thể cập nhật trường description của Trang này như sau:

POST graph.facebook.com
  /20531316728?description=The%20OFFICIAL%20Facebook%20Page

Các cạnh thường cho phép bạn đăng đối tượng mới lên bộ sưu tập của nút bằng cách thực hiện thao tác POST. Đây là cách đăng ảnh lên bộ sưu tập ảnh của Trang Facebook:

POST graph.facebook.com
  /20531316728/photos

Tất nhiên, việc đăng một đối tượng lên bộ sưu tập thường yêu cầu các trường bổ sung về đối tượng đó, chẳng hạn như URL, tiêu đề hoặc mô tả về ảnh. Tài liệu tham khảo về cạnh cho biết trường nào là bắt buộc và trường nào là tùy chọn.

Cuối cùng, bạn thường có thể xóa một nút bằng cách thực hiện thao tác DELETE trên ID đối tượng:

DELETE graph.facebook.com
  /20531316728

Phiên bản

API Đồ thị có nhiều phiên bản. Bạn có thể đọc thêm về cách tạo phiên bản trong hướng dẫn về Phiên bản ứng dụng của chúng tôi, nhưng ở đây chúng tôi sẽ giải thích cách bạn thực hiện lệnh gọi một phiên bản cụ thể.

Điều này thực sự đơn giản - chỉ cần thêm chữ v rồi đến số phiên bản vào đầu đường dẫn yêu cầu. Ví dụ: dưới đây là lệnh gọi phiên bản 2.9:

GET graph.facebook.com
  /v2.9/20531316728/photos

Nếu bạn không thêm số phiên bản, chúng tôi sẽ đặt mặc định là phiên bản có sẵn cũ nhất, do đó, tốt nhất là thêm số phiên bản vào yêu cầu của bạn.

Nhật ký thay đổi của API Đồ thị liệt kê tất cả các phiên bản có sẵn và Tài liệu tham khảo của chúng tôi cho phép bạn lọc nội dung theo phiên bản.

Các bước tiếp theo

Bây giờ hãy xem phần Sử dụng API Đồ thị để biết một số yêu cầu phức tạp hơn và phản hồi tương ứng cũng như để biết bạn có thể thực hiện những hành động nào khác với API Đồ thị.