TAM Technical Team TipsNote

TAMテクニカルチームがテーマ別の技術グループに分かれて
「Tips Note」を、毎週更新します。

  • HTML・CSS
  • JavaScript
  • ActionScript
  • CMS
  • Mobile
  • SEO
  • Program
Tips Note > Program

OGPのしくみ

  • 「いいね」したときに自分と友人のニュースフィードにも上がる。
  • OGPの設定内容はニュースフィードに表示する内容を指定することができる。

OGPとは

Facebook以外のページをFacebookページのように見せる仕組みである。
OGPの参照方法は、OGPを設定したURLの先にOGPがあれば、そのOGPのURLを参照し

どんどんたどって最終的なOGPを取得している。


「いいね」ボタンの数とFQLのいいねの数

  • 『「いいね」ボタンに設定したURLのページに設定されたOGPのURL』 をカウントしている。
  • FQLから取得する「いいね」の数は、『条件設定したURL』のカウントを取得している。

『FQL取得の「いいね」』と『「いいね」ボタンの数』が異なる現象に遭遇しました。

A.html 内に表示している下記はどちらも同じURL A.html を条件に指定しています。
OGPの記述のURLは B.html を設定しています。

上がFQLで取得した数。
下がボタンの数。
「いいね」対象のページを A.html とした場合
A.html のOGPのURLを、B.html という別のURLで設定すると

FQL取得では、条件設定するURLが A.html の場合、A.html のカウントになる。

「いいね」ボタンは B.html のOGPを取得し、カウントが B.html のカウントになる。


このOGPの取得の違いに気がつくまでハマってしまいました。



また、最近ではOGPの設定で

fb:app_id と fb:addmin で警告が出るため

対象となるドメインのアプリIDが必要なようです。

ここから作成する。

https://developers.facebook.com/apps/?action=create

アプリの詳細で、ウェブサイトにドメインを設定する。

取得したアプリIDをfb:app_id に設定するとOKです。

ドメイン毎に一つ作っておくだけでよいと思います。

<meta property="og:locale" content="ja_JP" />
<meta property="og:title" content="タイトル" />
<meta property="og:type" content="article" />
<meta property="og:url" content="いいね対象のURL" />
<meta property="og:image" content="いいねしたいときに表示したい画像" />
<meta property="og:site_name" content="サイトの名前" />
<meta property="og:description" content="サイトの説明文" />
<meta property="fb:app_id" content="アプリID(15桁)" />
Comments: コメントはまだありません

FacebookのOGPが確認できず下記のエラーに遭遇しました。

Missing Required Property:  The og:url property is required, but not present.

など。

Basic認証をかけているディレクトリのOGPを取得する時に発生します。


デバッガーを使うと
OGPがリセットされFacebook のクローラが OGP を読み込んでいます。
その時にBasic認証が通過できずで出ているエラーのようです。


.htaccessに下記を追加します。

AuthUserFile /home/tam/public_html/.htpasswd
AuthType Basic
AuthName &quot;Web access&quot;
Require valid-user
Satisfy Any
Order Allow,Deny
# FBクローラーを許可する
SetEnvIf User-Agent &quot;^facebookexternalhit.*$&quot; fb_crawler
Allow from env=fb_crawler
Comments: コメントはまだありません

Facebook のアルバム作成+画像を投稿する PHP スクリプトのご紹介です。

[投稿] ボタン押下で画像を 3枚アップしたいアプリがあったのですが、
Flash だと 1アクション 1画像しかアップできなかった(つまり、[投稿] ボタン押下で 1画像しかアップできなかった)ので
投稿部分のみ PHP にしました。
それをまるっと公開ですー。

続きを読む

Comments: コメントはまだありません

facebookのwall投稿画面を開発中に画面遷移をすると
FireFox 、Chrome などでは問題なかったのにIEではデータが破棄されてしまいました。
原因はブラウザ依存かなと対応方法を調べてみました。


■参考資料

facebookのdevelopersForum


■原因
IEでは、サードパーティーのCookieは受け入れないそうです。
ポリシーを定義して無事に想定内の動作になりました。
P3P (www.w3.org)


■対応
HTTPのレスポンスヘッダに追加するだけでOKです。


<? php
 header('p3p: CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"');
?>
Comments: コメントはまだありません

facebookアプリのを初めて使う時に表示されるパーミッション。
機能ごとに必要なパーミッションを分けたり、後から追加したりする時のチェック方法です。

続きを読む

Comments: コメントはまだありません

関連サイト