Ce document a été mis à jour.
La traduction en Français (France) n’est pas encore terminée.
Anglais mis à jour : 12 sept. 2022

Sondages

Vous pouvez utiliser l’API pour créer et gérer des sondages sur des diffusions vidéo en direct qui ont le statut LIVE. Les sondages sont représentés par des objets VideoPoll et sont composés de VideoPollOptions qui représentent les réponses possibles à la question du sondage.

Créer un sondage

Pour créer un sondage sur une diffusion vidéo en direct, envoyez une demande à :

POST /{live-video-id}/polls?question={question}&options={options}

L’objet LiveVideo ciblé doit avoir le statusLIVE pour que le VideoPoll puisse être créé. En cas de réussite, l’API répond avec l’ID de l’objet VideoPoll.

Paramètres de chaîne de requête

  • {question} - Question du sondage
  • {options} - Tableau des réponses possibles

Reportez-vous au guide de référence complémentaire Sondages de vidéo en direct pour obtenir la liste complète des paramètres de chaîne de requête que vous pouvez inclure lors de la création d’un sondage.

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un·e utilisateur·trice ou d’une Page ayant créé le LiveVideo.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

curl -i -X POST \
  "https://graph.facebook.com/v3.3/10214959467675612/polls
    ?question=What%20kind%20of%20bear%20is%20best%3F
    &options=%5B%22Black%20bear%22%2C%20%22Brown%20bear%22%2C%20%22That's%20a%20ridiculous%20question%22%5D
    &access_token={access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/10214959467675612/polls",
  new JSONObject("{\"question\":\"What kind of bear is best?\",\"options\":\"[\"Brown bear\", \"Black bear\", \"That is a stupid question\", \"Basically, there are two schools of thought\"]\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/10214959467675612/polls"
           parameters:@{ @"question": @"What kind of bear is best?",@"options": @"['Brown bear', 'Black bear', 'That is a stupid question', 'Basically, there are two schools of thought']",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/10214959467675612/polls',
  'POST',
  {"question":"What is the best bear?","options":"['Brown bear', 'Black bear', 'That is a stupid question', 'Basically, there are two schools of thought']"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/10214959467675612/polls',
    array (
      'question' => 'What is the best bear?',
      'options' => '["Brown bear", "Black bear", "That is a stupid question", "Basically, there are two schools of thought"]'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

{
  "id": "2318567914888258"  // VideoPoll ID
}

Fermer un sondage

Pour fermer un sondage sur une diffusion vidéo en direct une fois qu’un·e utilisateur·trice a sélectionné une option du sondage, envoyez une demande à :

POST /{video-poll-id}?action=CLOSE

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un·e utilisateur·trice ayant créé le VideoPoll.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

curl -i -X POST \
 "https://graph.facebook.com/{video-poll-id}?action=CLOSE&access_token={access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{video-poll-id}",
  new JSONObject("{\"action\":\"CLOSE\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-id}"
           parameters:@{ @"action": @"CLOSE",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-id}',
  'POST',
  {"action":"CLOSE"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{video-poll-id}',
    array (
      'action' => 'CLOSE'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

{
  "success": true
}

Rouvrir un sondage

Pour rouvrir un sondage fermé afin qu’un·e utilisateur·trice puisse changer l’option de sondage qu’il ou elle a sélectionnée, envoyez une demande à :

POST /{video-poll-id}?action=SHOW_VOTING

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un0183e utilisateur·trice ayant créé le VideoPoll.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

curl -i -X POST \
 "https://graph.facebook.com/{video-poll-id}
   ?action=SHOW_VOTING
   &access_token={access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{video-poll-id}",
  new JSONObject("{\"action\":\"SHOW_VOTING\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-id}"
           parameters:@{ @"action": @"SHOW_VOTING",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-id}',
  'POST',
  {"action":"SHOW_VOTING"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{video-poll-id}',
    array (
      'action' => 'SHOW_VOTING'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

{
  "success": true
}

Afficher les résultats d’un sondage

Pour configurer un sondage afin d’afficher les résultats après qu’une personne a voté, envoyez une demande à :

POST /{video-poll-id}?action=SHOW_RESULTS

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un0183e utilisateur·trice ayant créé le VideoPoll.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

curl -i -X POST \
 "https://graph.facebook.com/{video-poll-id}
    ?action=SHOW_RESULTS
    &access_token={access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{video-poll-id}",
  new JSONObject("{\"action\":\"SHOW_RESULTS\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-id}"
           parameters:@{ @"action": @"SHOW_RESULTS",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-id}',
  'POST',
  {"action":"SHOW_RESULTS"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{video-poll-id}',
    array (
      'action' => 'SHOW_RESULTS'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

{
  "success": true
}

Obtenir les options du sondage

Pour obtenir les réponses possibles d’un sondage, envoyez une demande à :

GET /{video-poll-id}?fields=poll_options
GET /{video-poll-id}/poll_options

Consultez le guide de référence VideoPoll pour obtenir la liste des champs et arêtes disponibles.

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un0183e utilisateur·trice ayant créé le VideoPoll.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

Obtient les réponses possibles d’un sondage :

curl -i -X GET \
 "https://graph.intern.facebook.com/{video-poll-id}/poll_options
   ?fields=poll_options
   &access_token={access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{video-poll-id}",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "poll_options");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-id}"
           parameters:@{ @"fields": @"poll_options",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-id}',
  'GET',
  {"fields":"poll_options"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{video-poll-id}',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

Objet contenant une liste de réponses possibles (liste de VideoPollOptions).

{
  "poll_options":
    {
      "data": [
        {
          "text": "Brown bear",
          "id": 145049637
        },
        {
          "text": "Black bear",
          "id": 145049638
        }
        {
          "text": "That is a stupid question",
          "id": 145049639
        }
        {
          "text": "Basically, there are two schools of thought",
          "id": 145049640
        }
      ]
    },
  "id": 12345
}

Obtenir les votes aux options du sondage

Pour obtenir le nombre de votes sur une option de sondage, envoyez une demande à :

GET /{video-poll-option-id}?fields=total_votes

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un·e utilisateur·trice ayant créé le VideoPollOption.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Tokens d’accès

Même token d’accès utilisé pour créer le LiveVideo ou la diffusion.

Exemple de requête

curl -i -X GET \
 "https://graph.facebook.com/{video-poll-option-id}
   ?fields=total_votes 
   &access_token={access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{video-poll-option-id}",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "total_votes");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-option-id}"
           parameters:@{ @"fields": @"total_votes",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-option-id}',
  'GET',
  {"fields":"total_votes"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{video-poll-option-id}',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

    {
  "total_votes": 129,
  "id": "{video-poll-option}"
}

Obtenir tous les votes aux options du sondage

Afin d’obtenir le nombre de votes pour chacune des réponses possibles à un sondage, utilisez l’extension de champ sur le champ poll_options. En procédant ainsi, la réponse inclura le champ total_votes sur toutes les VideoPollOptions renvoyées :

GET /{video-poll-id}?fields=poll_options{total_votes}

Conditions requises

TypeDescription

Tokens d’accès

Token d’accès d’un·e utilisateur·trice ayant créé le LiveVideo.

Fonctionnalités

Pour une VideoPoll sur un LiveVideo dans un groupe :


Autorisations

Pour une VideoPoll sur un LiveVideo dans un Utilisateur :


Pour une VideoPoll sur un LiveVideo dans une Page :


Pour une VideoPoll sur un LiveVideo dans un groupe :


Exemple de requête

Obtient toutes les VideoPollOptions et leurs champs text et total_votes sur un VideoPoll.

curl -i -X GET \
 "https://graph.intern.facebook.com/{video-poll-id}
   ?fields=poll_options{text,total_votes}
   &access_token={access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{video-poll-id}",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "poll_options{text,total_votes}");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{video-poll-id}"
           parameters:@{ @"fields": @"poll_options{text,total_votes}",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{video-poll-id}',
  'GET',
  {"fields":"poll_options{text,total_votes}"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{video-poll-id}',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

Exemple de réponse

{
  "poll_options":
    {
      "data": [
        {
          "text": "Brown Bear",
          "total_votes": 12,
          "id": 145049637
        },
        {
          "text": "Black Bear",
          "total_votes": 87,
          "id": 67890
        }
        {
          "text": "That's a stupid question",
          "total_votes": 45,
          "id": 145049639
        }
        {
          "text": "Basically, there are two schools of thought",
          "total_votes": 12,
          "id": 145049640
        }
      ]
    },
  "id": 12345
}