Как опубликовать видео в Facebook с помощью FB.api Javascript SDK? - PullRequest
3 голосов
/ 05 августа 2020

Я пытаюсь разместить видео на временной шкале пользователя facebook, следуя документации по конечной точке API графа создания видео . Перед публикацией в Graph API я вхожу в систему с помощью FB.login () . Я прошу пользователя предоставить моему приложению facebook разрешения public_profile, email и user_videos. Пользователь успешно входит в систему, и возвращается маркер доступа. Я также получаю user_videos,email,public_profile в разделе grantedScopes в ответе обратного вызова FB.login().

Однако, когда я делаю запрос FB.api() на публикацию видео на временной шкале пользователя, я вижу эту ошибку:

window.FB.api(
  `${authResponse.userID}/videos`,
  'POST',
  {
    file_url: <video-url>,
    access_token: authResponse.accessToken,
  },
  (response) => {
    console.log(response)
  }
)
{
  "error": {
    "message": "(#100) No permission to publish the video",
     "type": "OAuthException",
     "code": 100,
     "fbtrace_id": "whatever"
  }
}

Следует обратить внимание на следующие моменты:

Предупреждение проверки приложения в диалоговом окне входа в систему:

Когда диалоговое окно входа в систему Facebook отображается для пользователя, отображается предупреждение. отображается вверху:

Submit APP-NAME for Login Review Some of the permissions below have not been approved for use by Facebook. Submit for review now or learn more.

Я использую тестовую версию моего приложения для разработки этой функции. Более того, я использую администратора приложения facebook для тестирования этой интеграции. Я не понимаю, почему отображается вышеуказанное предупреждение. Действительно ли мне нужно отправлять свою заявку на рассмотрение, пока я нахожусь в процессе интеграции этой функции?

Запрещена публикация в facebook

Другое предупреждение: This doesn't let the app post to Facebook отображается в диалоговом окне входа в систему. Насколько мне известно, разрешение user_videos должно позволять моему приложению публиковать видео на временной шкале пользователя. Но отображаемое предупреждение противоречит моему предположению. Нужно ли мне запрашивать дополнительные разрешения, прежде чем я смогу размещать видео на временной шкале пользователя?

Ошибки HTTPS из-за разработки на локальном хосте

Я вижу ошибки, связанные с недоступностью домена HTTPS в моем консоль разработчика браузера при интеграции приложения на локальном хосте.

The method FB.getLoginStatus can no longer be called from http pages.
The method FB.login can no longer be called from http pages.
The method FB.api can no longer be called from http pages.

Нужно ли мне реализовать https для моей локальной настройки разработки, прежде чем я смогу выполнить эту интеграцию?

Публикация в graph-video.facebook .com

Меня смущает Документация по публикации видео . В нем говорится, что мне нужно сделать запрос POST на https://graph-video.facebook.com вместо https://graph.facebook.com, чтобы опубликовать sh видео. В той же документации также упоминается, что «Публикация для пользователей не поддерживается». Это противоречит документации по созданию видео .

Что именно я должен делать, чтобы иметь возможность разместить видео на временной шкале пользователя facebook, используя FB.api или любой другой метод?

1 Ответ

2 голосов
/ 16 августа 2020

См. Эту страницу:

https://developers.facebook.com/docs/graph-api/reference/user/videos/

Вы можете сделать POST-запрос к краю видео по следующим путям: / {user_id} / видео

Попробуйте это:

/* make the API call */
FB.api(
    "/{user_id}/videos",
    "POST",
    {
        "source": "{video-data}"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...