Version API du graphe

/{app-id}/subscriptions

Cette arête vous permet de configurer les abonnements Webhooks sur une application.

Lecture

Explorateur de l’API Graph
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
}];

Autorisations

  • Un token d'accès à l'application est nécessaire afin de renvoyer les abonnements pour cette application.

Champs

Nom Description Type

object

Indique le type d’objet auquel cet abonnement s’applique.

enum{user, page, permissions, payments}

callback_url

URL qui reçoit la requête POST lorsqu’une mise à jour est déclenchée.

string

fields

Ensemble de champs dans cet object auxquels un abonnement est souscrit.

string[]

active

Indique si l’abonnement est actif ou inactif.

bool

Création

Vous pouvez créer de nouveaux abonnements Webhooks en utilisant cette arête :

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
}];

Effectuez une requête POST avec les champs callback_url, verify_token et object pour réactiver l’abonnement.

Limitations

  • Les webhooks pour Instagram ne sont pas pris en charge. Les webhooks Instagram doivent être configurés dans l’Espace App.
  • Les webhooks pour WhatsApp ne sont pas pris en charge. Les webhooks WhatsApp doivent être configurés dans l’Espace App.

Autorisations

  • Un token d’accès à l’application est nécessaire afin d’ajouter de nouveaux abonnements pour cette application.
  • Les abonnements avec le type d’objet user seront valides uniquement pour les utilisateur·ices qui auront installé l’application.
  • Les abonnements avec le type d’objet page seront valides uniquement pour les Pages pour lesquelles l’application sera installée. Vous pouvez installer l’application pour une Page en utilisant l’arête /{page-id}/subscribed_apps.
  • L’application utilisée pour s’abonner devrait être configurée pour recevoir les mises à jour Webhooks.

Champs

Nom Description Type

object

Indique le type d’objet auquel cet abonnement s’applique.

enum{user, page, permissions, payments}

callback_url

URL recevant la requête POST lorsqu’une mise à jour est déclenchée, et une requête GET lors de la tentative d’opération de publication. Consultez notre guide traitant de l’élaboration d’une page URL de rappel.

string

fields

Un ou plusieurs des ensembles de champs valides de cet object auxquels vous pouvez vous abonner.

string[]

include_values

Indique si les notifications de modification devraient inclure les nouvelles valeurs.

bool

verify_token

Chaîne arbitraire qui peut être utilisée pour confirmer à votre serveur la validité de la requête.

string

Réponse

Si votre URL de rappel est valide et que l’abonnement aboutit :

{
  "success": true
}

Dans le cas contraire, un message d’erreur approprié est renvoyé.

Suppression

Utilisez l’opération suivante pour supprimer tous les abonnements ou ceux par objet :

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
}];

Vous pouvez supprimer des champs spécifiques de votre abonnement en insérant un paramètre fields.

Autorisations

  • Un token d’accès à l’application est nécessaire afin de supprimer les abonnements pour cette application.

Champs

Nom Description Type

object

Type d’objet spécifique pour lequel supprimer les abonnements. Si ce champ facultatif n’est pas inclus, tous les abonnements pour cette application seront supprimés.

enum{user, page, permissions, payments}

fields

Un ou plusieurs des ensembles de champs valides de cet object auxquels vous pouvez vous abonner.

string[]

Réponse

En cas de réussite :

{
  "success": true
}

Dans le cas contraire, un message d’erreur approprié est renvoyé.

Mise à jour

Vous pouvez effectuer les mises à jour sur cette arête en menant une une opération de publication avec les nouvelles valeurs définies. Ceci aura pour effet de modifier l’abonnement pour le sujet donné, sans écraser les champs existants.