Tương tác với người xem

Bạn có thể sử dụng API Video trực tiếp để nhận bình luận và cảm xúc về video phát trực tiếp, sao cho những tài năng trong lĩnh vực thu âm/thu hình và nhà sản xuất video có thể tương tác với người xem. Bạn có thể thực hiện điều này bằng cách định kỳ truy vấn đối tượng LiveVideo để nhận bình luận và cảm xúc hiện tại hoặc thiết lập Sự kiện do máy chủ gửi để nhận bình luận và cảm xúc trong thời gian thực.

Nhận bình luận và cảm xúc hiện tại

Để nhận bình luận hoặc cảm xúc hiện tại về video phát trực tiếp, hãy gửi yêu cầu đến:

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

Yêu cầu mẫu

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();

Phản hồi mẫu

{
  "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..."
    }
  }
}

Hãy xem tài liệu tham khảo về cạnh Bình luậnCảm xúc để biết thông tin về các trường có thể trả về cũng như hướng dẫn lọc và sắp xếp. Bình luận và cảm xúc có thể được thăm dò ý kiến vài giây một lần.

Nhận bình luận và cảm xúc trong thời gian thực

Để nhận bình luận và cảm xúc trên các ứng dụng trình duyệt trong thời gian thực, hãy thiết lập Sự kiện do máy chủ gửi và gửi yêu cầu đến những điểm cuối sau:

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

Lưu ý rằng URL lưu trữ để phát trực tiếp sự kiện là: https://streaming-graph.facebook.com

Yêu cầu mẫu

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

Phản hồi mẫu

: 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

Hãy xem tài liệu tham khảo về Bình luận trực tiếpCảm xúc trực tiếp để biết thông tin về các trường có thể trả về, tần suất ping và hoạt động lọc.