Interaktion mit Zuschauer*innen

Mit der Live Video API kannst du Kommentare und Reaktionen zu Live-Video-Übertragungen abrufen, sodass Videoproduzent*innen und Moderator*innen mit Zuschauer*innen interagieren können. Hierzu kannst du in regelmäßigen Abständen das Live-Video-Objekt abfragen, um aktuelle Kommentare und Reaktionen abzurufen. Alternativ kannst du vom Server gesendete Events einrichten, um Kommentare und Reaktionen in Echtzeit zu empfangen.

Abrufen aktueller Kommentare und Reaktionen

Um die aktuellen Kommentare und Reaktionen zu einer Live-Video-Übertragung abzurufen, sende eine Anfrage an:

GET /{live-video-id}/comments
GET /{live-video-id}/reactions

Beispielanfrage

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

request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{live-video-id}/comments"
           parameters:nil
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{live-video-id}/comments',
  'GET',
  {},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{live-video-id}/comments',
    '{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();

Beispielantwort

{
  "data": [
    {
      "created_time": "2018-08-30T18:47:02+0000",
      "from": {
        "name": "Steph C.",
        "id": "552524095105158"
      },
      "message": "This is such a great live stream.",
      "id": "911936075671494_911936769004758"
    },
    {
      "created_time": "2018-08-30T18:47:17+0000",
      "from": {
        "name": "Kevin D.",
        "id": "552524095105158"
      },
      "message": "Shoutout over here!",
      "id": "911936075671494_911936909004744"
    },
    {
      "created_time": "2018-08-30T18:48:14+0000",
      "from": {
        "name": "Clay T.",
        "id": "552524095105158"
      },
      "message": "Where is this place?",
      "id": "911936075671494_911937292338039"
    }
    ],
  "paging": {
    "cursors": {
      "before": "WTI5d...",
      "after": "WTI5d..."
    }
  }
}

In den Referenzen zu den Edges Kommentare und Reaktionen findest zu Informationen zu den Rückgabefeldern sowie Anweisungen zum Filtern und Sortieren. Kommentare und Reaktionen können alle paar Minuten abgefragt werden.

Empfangen von Kommentaren und Reaktionen in Echtzeit

Um Kommentare und Reaktionen in Echtzeit in Browser-Clients zu empfangen, richte vom Server gesendete Events ein und sende eine Anfrage an diese Endpunkte:

GET /{live-video-id}/live_comments
GET /{live-video-id}/live_reactions

Beachte, dass die Host-URL für Streaming-Events wie folgt lautet: https://streaming-graph.facebook.com

Beispielanfrage

GET https://streaming-graph.facebook.com/{live-video-id}/live_comments?access_token={access-token}
var source = new EventSource("https://streaming-graph.facebook.com/{live-video-id}/live_comments?access_token={access-token}");
source.onmessage = function(event) {
  // Do something with event.message for example
};

Beispielantwort

: ping
data:
  {
    "created_time":"2018-08-30T21:11:01+0000",
    "id":"911936075671494_912014908996944",
    "view_id":43329028,
    "from":
      {
        "id":"552524095105158",
        "name":"Kerry Fisher"
      },
    "message":"I love this video!"
  }
: ping
: ping

In den Referenzen zu Live-Kommentaren und Live-Reaktionen findest zu Informationen zu den Rückgabefeldern, zur Ping-Frequenz sowie zum Filtern.