Как получить аватары facebook использовать протокол https?
Я использую старый FB API в моем проекте.
Для отображения аватара FB я использую гем facebooker в моем приложении Rails. Я использую метод facebooker "fb_profile_pic(owner, {: connected => false, "facebook-logo" =>:true}". Он создает этот FBML:
<fb:profile-pic facebook-logo="true" height="73" linked="false" size="square" uid="1440313044" width="73" style="width: 73px; height: 73px; " class=" fb_profile_pic_rendered"><img src="http://external.ak.fbcdn.net/safe_image.php?d=d5eee08e09b7573d93b61f82ac11feda&url=http%3A%2F%2Fprofile.ak.fbcdn.net%2Fhprofile-ak-snc4%2F41642_1440313044_4069_q.jpg&logo&v=5" alt="Shaliko Usubov" title="Shaliko Usubov" style="width:73px;height:73px;" class=""></fb:profile-pic>
Если я показываю этот аватар на странице, доступной по протоколу https - получаю ошибку
"На странице https://my_domain.com/ отображается небезопасный контент с http://external.ak.fbcdn.net/safe_image.php?..."
Как получить аватар FB по протоколу HTTPS?
1 ответ
/* ВНИМАНИЕ НИЖЕ */ говорит, что если ваше приложение https, тогда библиотека fb javascript будет https.
Вы можете проверить свой код
window.fbAsyncInit = function () {
FB.init({ appId: /*123456789*/', status: true, cookie: false, xfbml: true });
};
(function () {
var e = document.createElement('script'); e.async = true;
/* ATTENTION BELOW */
e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(e);
} ());