Node.js, API Graph Facebook - загрузка файла на Facebook с помощью серверной части Node.js. - PullRequest
0 голосов
/ 27 февраля 2019

У меня есть приложение, которое состоит из серверной части Node.js, размещенной на AWS, и внешней оболочки Angular 2+.Я использую API графа Facebook на бэкэнде, однако, когда дело доходит до загрузки вещей на Facebook, у меня возникают проблемы.

Если я хочу загрузить файл, мне нужно загрузить его на свой бэкэнддо этого, который поместит его в корзину S3, а затем загрузит его из моего бэкэнда в Facebook.Это кажется немного тяжелым для меня, и я действительно подозреваю, что это правильный способ сделать это.Кроме того, Facebook предоставляет API-интерфейс javascript, который позволяет загружать файл с клиента на его платформу, который кажется менее тяжелым.

Сейчас я вижу три решения:

  1. Продолжитьделать все на бэкэнде
  2. Выполнять только операции загрузки на стороне клиента с помощью javascript SDK, а все остальное на бэкенде
  3. Делать все с внешнего интерфейса, используя javascript SDK

Для меня лучшим решением будет 2. Каково ваше мнение?Есть ли другие решения?

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019

Если файл создан на клиенте, отправлять его на сервер не нужно - вместо этого вы можете просто загрузить его на Facebook.Хотя, если вам все равно нужно сохранить его на своем собственном сервере, вы можете сначала сделать это и позволить серверу обработать загрузку в Facebook - загрузка URL-адреса изображения в Facebook является самым простым способом.Если вам не нужно изображение на вашем сервере, это может помочь вам:

Если файлуже на сервере, нет необходимости отправлять его клиенту перед загрузкой в ​​Facebook.В этом случае я бы сделал загрузку на стороне сервера.Если речь идет о безопасности: нет абсолютно никаких проблем с отправкой токенов доступа на сервер.Вы можете просто использовать JS SDK для входа в систему, отправить токен на сервер и выполнить загрузку на сервер.Просто используйте appsecret_proof: https://developers.facebook.com/docs/graph-api/securing-requests/

0 голосов
/ 27 февраля 2019

Если вы используете свою идентификацию конечного пользователя на Facebook, использовать бэкэнд здесь не имеет смысла (кроме того, что вам нужно меньше Javascript на странице).

Ваши учетные данные пользователя Facebook должныникогда не отправлять на сервер , поэтому загрузите его на Facebook на стороне клиента с помощью Facebook SDK.

Выполнение этого на стороне клиента также сэкономит затраты на инфраструктуру на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...