JavaScript SDK не работает должным образом в приложении Facebook по протоколу http - PullRequest
2 голосов
/ 04 ноября 2011

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

Проблема возникает, когда кто-то загружает мое приложение по протоколу http" http://apps.facebook.com/my_app". В этом случае SDK Facebook JavaScript не работает должным образом.Particullary.Я получаю сообщение «Доступ запрещен для URL https://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>

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

Есть ли какие-либо предложения?

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

...