1

過去 1 年間に 4 つの Web サイトに Facebook の Like/Send ボタンをインストールしましたが (非同期 JavaScript を使用)、Send ボタンが機能しなくなっていることに気付きました (インストール時にテストしたときは動作しましたが)。

例 #1: http://www.libbiking.com/

私が追加した関連ページで:

<meta property="og:title" content="Libbi King" />
<meta property="og:type" content="website" />
<meta property="og:url" content="http://www.libbiking.com/" />
<meta property="og:image" content="http://www.libbiking.com/mygallery/site/img/www_libbiking_com_facebook_01.gif" />
<meta property="og:site_name" content="Libbi King" />
<meta property="fb:admins" content="618598922" />
<meta property="fb:app_id" content="251724341605334" />
<meta property="og:description" content="Illustrator &amp; Set Designer in London | libbi@libbiking.com | tel: 07706 553 288" />

        <div id="fb-root"></div>        
        <script type="text/javascript">
          window.fbAsyncInit = function() {
            FB.init({
              appId      : '251724341605334', // App ID
              channelUrl : '//www.libbiking.com/mygallery/site/libbiking/fb_channel.php', // Channel File
              status     : true, // check login status
              cookie     : true, // enable cookies to allow the server to access the session
              xfbml      : true  // parse XFBML
            });

            // Additional initialization code here
          };

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

    <fb:like href="http://www.libbiking.com/" send="true" layout="button_count" width="180" show_faces="false" font="segoe ui"></fb:like>

fb_channel.php で:

<?php
$cache_expire = 60*60*24*365;
header("Pragma: public");
header("Cache-Control: max-age=".$cache_expire);
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$cache_expire) . ' GMT');
?>
<script src="//connect.facebook.net/en_US/all.js"></script>

興味深いことに、(Web サイトではなく) Facebook ページへの安全な https URI が表示されるようになりました。送信すると、エラー メッセージが返されます。

「メッセージの送信中に次のエラーが発生しました:サーバーがステータス コード 200 を返したため、 https ://www.facebook.com/pages/Libbi-King/355311097871934 のページにアクセスできませんでした」

Facebook Linter/Debugger を使用してページを解析しましたが、OG は応答コード 200 で正常に動作しているようです。ボタンの href を間違った URI に置き換えると、送信ボタンが実際に機能します。

アプリを登録するときに、最近タイプの説明が「ウェブサイト」から「Facebook ログインのあるウェブサイト」に変更されたことに気付きました。これが問題を引き起こす可能性があるかどうかはわかりません...

4

0 に答える 0