图谱 API 版

Page Subscribed Apps

Webhook subscriptions for apps that service a Facebook Page.

It is possible to subscribe to more fields at the page level than the app level. However, only fields with subscriptions at both the page and app levels will get Webhooks. To make sure you are subscribed to the same fields at the app level, use the app subscriptions endpoint.

读取

Get the Webhooks an app is subscribed to for a Facebook Page.

Permissions

  • A Page access token requested by a person who can perform the

    CREATE_CONTENT,

    MANAGE, or

    MODERATE

    on the Page being queried

  • The pages_manage_metadata permission
  • The pages_show_list permission

New Page Experience

This endpoint is supported for New Page Experience.

例子

Graph API Explorer
GET /v21.0/{page-id}/subscribed_apps 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(
    '/{page-id}/subscribed_apps',
    '{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 */
FB.api(
    "/{page-id}/subscribed_apps",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/subscribed_apps",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/subscribed_apps"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
如果你希望详细了解如何使用图谱 API,请阅读我们的图谱 API 指南

参数

这个端点不包含任何参数。

字段

从这条连线读取将返回一个 JSON 格式的结果:

{ "data": [], "paging": {} }

data

Application 节点列表。

以下字段将添加到返回的每个节点:

字段说明
subscribed_fields
list<enum>

Webhook fields to which the app has subscribed on the page

paging

详细了解分页功能,请见图谱 API 指南

错误代码

错误描述
200Permissions error
190Invalid OAuth 2.0 Access Token
210User not visible
80001There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.
100Invalid parameter
104Incorrect signature

创建

Subscribe your app to a Webhook for a Facebook Page.

Permissions

  • A Page access token requested by a person who can perform

    CREATE_CONTENT,

    MANAGE, or

    MODERATE

    task on the Page

  • The pages_manage_metadata permission
  • The pages_show_list permission

Note: You cannot use the subscribed_fields parameter to configure or subscribe to Webhooks for Instagram. You must use your app dashboard to subscribe to Instagram Webhooks.


你可以通过下列路径向 subscribed_apps 连线发出 POST 请求:
发布到这个连线会创建 a Page

例子

Graph API Explorer
POST /v21.0/{page-id}/subscribed_apps HTTP/1.1
Host: graph.facebook.com

subscribed_fields=leadgen
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/subscribed_apps',
    array (
      'subscribed_fields' => 'leadgen',
    ),
    '{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 */
FB.api(
    "/{page-id}/subscribed_apps",
    "POST",
    {
        "subscribed_fields": "leadgen"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("subscribed_fields", "leadgen");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/subscribed_apps",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"subscribed_fields": @"leadgen",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/subscribed_apps"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];
curl -X POST \
  -F 'subscribed_fields="leadgen"' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v21.0/{page-id}/subscribed_apps
如果你希望详细了解如何使用图谱 API,请阅读我们的图谱 API 指南

参数

参数描述
subscribed_fields
array<enum {feed, mention, name, picture, category, description, conversations, feature_access_list, inbox_labels, standby, message_mention, messages, message_reactions, messaging_account_linking, messaging_checkout_updates, messaging_customer_information, message_echoes, message_edits, message_deliveries, message_context, messaging_game_plays, messaging_optins, messaging_optouts, messaging_payments, messaging_postbacks, messaging_pre_checkouts, message_reads, messaging_referrals, messaging_handovers, messaging_policy_enforcement, messaging_appointments, messaging_direct_sends, messaging_fblogin_account_linking, user_action, messaging_feedback, send_cart, group_feed, calls, call_permission_reply, response_feedback, messaging_integrity, messaging_in_thread_lead_form_submit, message_template_status_update, founded, company_overview, mission, products, general_info, leadgen, leadgen_fat, location, hours, parking, public_transit, page_about_story, mcom_invoice_change, invoice_access_invoice_change, invoice_access_invoice_draft_change, invoice_access_onboarding_status_active, invoice_access_bank_slip_events, local_delivery, phone, email, website, ratings, attire, payment_options, culinary_team, general_manager, price_range, awards, hometown, current_location, bio, affiliation, birthday, personal_info, personal_interests, members, checkins, page_upcoming_change, page_change_proposal, merchant_review, product_review, videos, live_videos, video_text_question_responses, registration, payment_request_update, publisher_subscriptions, invalid_topic_placeholder}>

Page Webhooks fields that you want to subscribe

必填

返回类型

这个端点支持先写后读,并会读取接收你的 POST 请求的节点。
Struct {
success: bool,
}

错误代码

错误描述
200Permissions error
100Invalid parameter
190Invalid OAuth 2.0 Access Token
210User not visible
104Incorrect signature
80001There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.
102Session key invalid or no longer valid

更新

你无法在此端点执行该操作。

删除

Unsubscribe your app to a Webhook for a Facebook Page.

Permissions

An app can remove its own webhook subscription from a Page with an App Access Token.

你可以向 /{page_id}/subscribed_apps 发出 DELETE 请求,将 an Application 与 a Page 取消关联。

参数

这个端点不包含任何参数。

返回类型

Struct {
success: bool,
messaging_success: bool,
}

错误代码

错误描述
100Invalid parameter
190Invalid OAuth 2.0 Access Token
200Permissions error
210User not visible
104Incorrect signature
80001There have been too many calls to this Page account. Wait a bit and try again. For more info, please refer to https://developers.facebook.com/docs/graph-api/overview/rate-limiting.