Facebookのソーシャルプラグイン:Commentが表示されない時のチェック項目
ものすごくしょーもない所ではまったのでシェア。
いや、全部僕が悪いんですけど。
Facebookのソーシャルプラグインを色々とブログに貼ってみたんですけど、ある時から何故かコメントプラグインが表示されなくなりました。上図のように。
リクエストされたページが見つかりませんでした。ってなる。
うーむ・・・なんでだろうなと思って色々試していたのですが解決したのでシェア。
このブログには見ての通り、
- 右上にFacebookページのLikeBox
- その下にFacebookページのFacepile
- 個別ページには、Facebookコメント
- その下に2と同様のFacepile
- さらにその下にもう一つFacebookページのLikeBox
と、5つもソーシャルプラグインが貼り込んであります。
先に原因を書いておくと
<script src="http://connect.facebook.net/ja_JP/all.js#xfbml=1"></script>
このタグが原因でした。
各タグをソーシャルプラグインページからジェネレートすると、これを貼りつけなさいよというタグが現れます。
こんな感じに。
まぁ、普通はそれを貼り付けますよね。はい、僕もそうしてました。
ただ、これには問題があります。(問題になるのはXFBMLで貼り付ける場合です)
ソーシャルプラグインの中でも、コメントプラグインは、上記のコードがこのような形になっています。
<script src="http://connect.facebook.net/en_US/all.js#appId= 177148092321894&xfbml=1"></script>
アプリケーションIDを取得して、それに関連付ける形になっている訳ですね。引数としてappIdが渡されています。
逆に、LikeBox等はこの引数が付いていません。
かたっぱしから、ジェネレート済みのタグを貼り付けていると、一番最後に読み込まれたタグが有効になります(多分そうだよね)。
そうすると、コメントタグより下に位置するscriptタグで読み込まれたタグに引数がついていないと、コメントプラグインを呼び出すことが出来なくなるという訳です。
解決策は、コメントプラグイン意外のプラグインにくっついているこれを全部削除すること。それだけです。
<script src="http://connect.facebook.net/ja_JP/all.js#xfbml=1"></script>
簡単な事なのに、やたらハマってしまいました。なんてこった。
追記
これをやって、プラグインが表示されたものの、書き込めないぜ!というとき。
ログアウトした状態でアクセスすると、表示されたログインボタンを押したときに、無効なAPIキーです、って出る時があります。
このときは、ソーシャルプラグインに入ってるAppIDをAPIキーに変えてみてくださいな。
わからないことがあれば↓のコメント欄に是非。