Phiên bản API Đồ thị

/{app-id}/subscriptions

Với cạnh này, bạn có thể đặt cấu hình các gói đăng ký webhooks trên ứng dụng.

Đọc

Trình khám phá API Đồ thị
GET /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{app-id}/subscriptions',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Quyền

  • Bạn phải có mã truy cập ứng dụng thì mới trả về được gói đăng ký cho ứng dụng đó.

Trường

Tên Mô tả Loại

object

Cho biết loại đối tượng được áp dụng gói đăng ký này.

enum{user, page, permissions, payments}

callback_url

URL sẽ nhận được yêu cầu POST khi một thông tin mới được kích hoạt.

string

fields

Tập hợp trường trong object này đã được đăng ký.

string[]

active

Cho biết gói đăng ký có đang hoạt động hay không.

bool

Tạo

Bạn có thể sử dụng cạnh này để tạo gói đăng ký Webhooks mới:

POST /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com

object=page&callback_url=http%3A%2F%2Fexample.com%2Fcallback%2F&fields=about%2C+picture&include_values=true&verify_token=thisisaverifystring
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{app-id}/subscriptions',
    array (
      'object' => 'page',
      'callback_url' => 'http://example.com/callback/',
      'fields' => 'about, picture',
      'include_values' => 'true',
      'verify_token' => 'thisisaverifystring',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
Bundle params = new Bundle();
params.putString("object", "page");
params.putString("callback_url", "http://example.com/callback/");
params.putString("fields", "about, picture");
params.putString("include_values", "true");
params.putString("verify_token", "thisisaverifystring");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"object": @"page",
  @"callback_url": @"http://example.com/callback/",
  @"fields": @"about, picture",
  @"include_values": @"true",
  @"verify_token": @"thisisaverifystring",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Nếu bạn gửi yêu cầu POST có các trường callback_url, verify_tokenobject, gói đăng ký sẽ được kích hoạt lại.

Giới hạn

  • Không hỗ trợ Webhooks cho Instagram. Bạn phải đặt cấu hình webhook cho Instagram bằng Bảng điều khiển ứng dụng.
  • Không hỗ trợ Webhooks cho WhatsApp. Bạn phải đặt cấu hình webhook cho WhatsApp bằng Bảng điều khiển ứng dụng.

Quyền

  • Bạn phải có mã truy cập ứng dụng thì mới thêm được gói đăng ký mới cho ứng dụng đó.
  • Gói đăng ký cho loại đối tượng user sẽ chỉ hợp lệ đối với người dùng đã cài đặt ứng dụng.
  • Gói đăng ký cho loại đối tượng page sẽ chỉ hợp lệ đối với Trang đã cài đặt ứng dụng. Bạn có thể cài đặt ứng dụng cho Trang bằng cạnh /{page-id}/subscribed_apps.
  • Ứng dụng dùng để đăng ký phải được thiết lập để nhận thông tin mới qua Webhooks.

Trường

Tên Mô tả Loại

object

Cho biết loại đối tượng được áp dụng gói đăng ký này.

enum{user, page, permissions, payments}

callback_url

URL sẽ nhận được yêu cầu POST khi thông tin mới được kích hoạt và một yêu cầu GET khi thực hiện thao tác đăng này. Hãy xem hướng dẫn xây dựng trang URL gọi lại của chúng tôi.

string

fields

Một hoặc nhiều trường của tập hợp trường hợp lệ trong object này cần đăng ký.

string[]

include_values

Cho biết thông báo thay đổi có cần bao gồm các giá trị mới không.

bool

verify_token

Một chuỗi tùy ý có thể dùng để xác nhận với máy chủ rằng yêu cầu hợp lệ.

string

Phản hồi

Nếu URL gọi lại hợp lệ và đăng ký thành công:

{
  "success": true
}

Nếu không, hệ thống sẽ trả về một thông báo lỗi phù hợp.

Xóa

Bạn có thể xóa gói đăng ký theo đối tượng hoặc xóa tất cả gói đăng ký bằng thao tác sau:

DELETE /v21.0/{app-id}/subscriptions HTTP/1.1
Host: graph.facebook.com

object=page
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{app-id}/subscriptions',
    array (
      'object' => 'page',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
Bundle params = new Bundle();
params.putString("object", "page");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{app-id}/subscriptions",
    params,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"object": @"page",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{app-id}/subscriptions"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Bạn có thể xóa các trường cụ thể khỏi gói đăng ký bằng cách thêm thông số fields.

Quyền

  • Bạn phải có mã truy cập ứng dụng thì mới xóa được gói đăng ký cho ứng dụng đó.

Trường

Tên Mô tả Loại

object

Loại đối tượng cụ thể cần gỡ gói đăng ký. Nếu không thêm trường không bắt buộc này, mọi gói đăng ký cho ứng dụng này sẽ bị gỡ.

enum{user, page, permissions, payments}

fields

Một hoặc nhiều trường của tập hợp trường hợp lệ trong object này cần đăng ký.

string[]

Phản hồi

Nếu thành công:

{
  "success": true
}

Nếu không, hệ thống sẽ trả về một thông báo lỗi phù hợp.

Cập nhật

Bạn có thể cập nhật trên cạnh này bằng cách thực hiện thao tác đăng với các giá trị mới. Thao tác này sẽ sửa đổi gói đăng ký cho chủ đề cụ thể mà không ghi đè các trường hiện có.