Невозможно получить изображение профиля пользователя с Facebook graph api - PullRequest
0 голосов
/ 22 мая 2018

мое приложение angular 2 использует Facebook, чтобы получить имя пользователя, адрес электронной почты и фотографию профиля.Я могу получить имя пользователя и адрес электронной почты, но URL для изображения профиля, предоставленного Facebook API не работает.

Вот поток приложения

  1. пользователь входит в Facebook с моегоприложение с разрешением на имя, адрес электронной почты и изображение профиля
  2. После входа приложение запрашивает имя, адрес электронной почты и изображение профиля с помощью Facebook api
  3. приложение получает ответ от API Facebook, содержащий все запрошенные данные, приведенный ниже

response : { email:"user@mail.com" id:"992219737612453" name:"user name" picture: { data:height:50 is_silhouette:false url:"https://lookaside.facebook.com/platform/profilepic/? asid=992219737612453&height=50&width=50&ext=1527274398 &hash=AeQwwpehQqNhgVxr" width:50 } }

Но проблема в том, что URL, указанный в приведенном выше ответе для изображения, не работает и выдает ошибку 429. Но тот же URL начинает работать, когда к нему обращаются с помощьюVPN.Кто-нибудь, пожалуйста, выясните, в чем проблема и как ее решить.Примечание. Ошибка 429 означает слишком большое количество запросов, но на странице панели разработчика Facebook для этого приложения сказано, что ваше приложение не достигло уровня ограничения скорости.

ОБНОВЛЕНИЕ: URL-адрес блокируется при обращении к нему с помощьюконкретный провайдер, который принадлежит Китаю.Но проблема в том, что большинство моих пользователей используют этого интернет-провайдера.

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

Как описано в вопросе, это проблема интернет-провайдера, который работает / происхождение из Китая.Таким образом, вам понадобится нейтральный провайдер из любого региона или региона, в котором работает URL.

Единственное решение этой проблемы заключается в том, что вам следует настроить сервер (лучше всего указать вариант angular 2/4), размещенный на хосте.на разных провайдеров.И сервер получает изображение с этого URL и возвращает его обратно клиенту.

Неправильная архитектура:

Клиент =================================================> Сервер, содержащий изображение

Клиент <=============== Ошибка 429 (из-за другого интернет-провайдера) <=========== Сервер, содержащий изображение </p>

Правильная архитектура:

Угловой ===================> Express ==========> Изображение с сервером

Угловой <=================== </strong> Экспресс <========== </strong> Сервер, содержащий изображение

0 голосов
/ 22 мая 2018

Если это работает через VPN, это звучит как проблема с разрешениями.Какие разрешения VPN может позволить, что у локального компьютера или сервера, с которого вы работаете, нет?

...