Версия API Graph

Эта граница контекста упразднена и больше не может использоваться.

Видео с мероприятий /{event-id}/videos

Используйте эту конечную точку для публикации видео в мероприятии. Чтобы удалить или обновить существующее видео, используйте узел /{video-id}.

Создание

Чтобы опубликовать видео в мероприятии, отправьте запрос POST к границе контекста /{event-id}/videos в graph-video.facebook.com.

POST /v26.0/{event-id}/videos HTTP/1.1
Host: graph-video.facebook.com

source=%7Bvideo-data%7D
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{event-id}/videos',
    array (
      'source' => '{video-data}',
    ),
    '{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(
    "/{event-id}/videos",
    "POST",
    {
        "source": "{video-data}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("source", "{video-data}");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{event-id}/videos",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"source": @"{video-data}",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{event-id}/videos"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

Ограничения

  • Видео должны быть закодированы как multipart/form-data.
  • Если вы загружаете видео с помощью HTTP-запроса с несколькими частями или указываете URL видео, размер видео не должен превышать 1 ГБ, а продолжительность — 20 минут.
  • Максимальный размер видео, которые можно загружать возобновляемыми запросами: 1,75 ГБ. Максимальная продолжительность: 45 минут.

Поддерживаемые форматы

3g2, 3gp, 3gpp, asf, avi, dat, divx, dv, f4v, flv, m2ts, m4v, mkv, mod, mov, mp4, mpe, mpeg, mpeg4, mpg, mts, nsv, ogm, ogv, qt, tod, ts, vob, wmv.

Разрешения

С 24 апреля 2018 г. разрешение pubish_actions удалено. Подробнее см. в журнале важных изменений. Чтобы дать пользователям приложения возможность делиться контентом на Facebook, рекомендуем использовать наши средства публикации.

Для этой конечной точки требуется маркер доступа пользователя с разрешением publish_actions.

Поля

Имя Описание Тип

id

Целевой ID, где будет опубликовано видео.

numeric string

title

Название видео.

string

description

Описание видео, которое используется в качестве сообщения статуса в любой истории в ленте. Этот параметр может содержать упоминания других Страниц Facebook с помощью следующего синтаксиса:

@[page-id]

Например, в следующем описании упоминается страница Facebook Developers:

Test message @[19292868552] tag

При использовании этой функции требуется проверка. Но используя Страницы, администратором которых вы являетесь (для выполнения вызовов API и для использования в упоминании), а также приложения, разработчиком которого вы являетесь, вы можете протестировать функцию самостоятельно до проверки.

string

source

Видео, закодированное в формате данных формы. Обязательное поле.

multipart/form-data

file_url

Доступный URL видеофайла. Не может использоваться с upload_phase.

string

thumb

Необработанные данные миниатюры видео, которые нужно загрузить и связать с видео.

image

upload_phase

Тип запроса с загрузкой по частям.

enum{start, transfer, finish}

file_size

Размер всего видеофайла в байтах.

unsigned int32

start_offset

Начальное положение фрагмента файла (в байтах).

unsigned int32

video_file_chunk

Фрагмент видеофайла, закодированный в формате данных формы. Это поле обязательно на этапе загрузки transfer.

multipart/form-data

upload_session_id

ID сеанса загрузки по частям.

numeric string

Ответ

В случае успеха:

Struct {
  id: numeric string,
  upload_session_id: numeric string,
  video_id: numeric string,
  start_offset: numeric string,
  end_offset: numeric string,
  success: bool,
  skip_upload: bool,
}

Чтение

Загруженные в мероприятие видео нельзя читать с использованием этой границы контекста.

Обновление

Эту границу контекста нельзя использовать для обновления.

Удаление

Эту границу контекста нельзя использовать для удаления.