JavaScript SDK не работает должным образом в приложении Facebook по протоколу http

#facebook-javascript-sdk

#facebook-javascript-sdk

Вопрос:

Например, у меня есть приложение на Facebook apps.facebook.com/my_app . Мое приложение работает по протоколу https. Когда он загружен с помощью защищенного соединения «https://apps.facebook.com/my_app » все идет нормально.

Проблема возникает, когда кто-то загружает мое приложение по протоколу http «http://apps.facebook.com/my_app «. В этом случае Facebook JavaScript SDK не работает должным образом. В частности. Я получаю сообщение «Доступ запрещен для URLhttps://s-static.ak.facebook.com/connect/canvas_proxy.php?version=3 » и FB.Canvas.setSize не работает.

Я использую код изhttps://developers.facebook.com/docs/reference/javascript /

 <div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'YOUR_APP_ID', // App ID
      channelURL : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      oauth      : true, // enable OAuth 2.0
      xfbml      : true  // parse XFBML
    });

    // Additional initialization code here
    FB.Canvas.setSize({ height: <? echo $pageheight; ?> });
  };

  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     d.getElementsByTagName('head')[0].appendChild(js);
   }(document));
</script>
  

Лучшим решением было бы, если бы я мог обновить все закладки для своего приложения, чтобы они ссылались на URL https, но Facebook не предоставляет такой опции.

Есть предложения?

Кстати, для моего приложения важно работать через соединение https, поэтому все запросы по http перенаправляются на https моим сервером. Я приношу извинения за мой английский.