tohokuaikiのチラシの裏

技術的ネタとか。

スマートフォンで?FacebookのFB.ui()メソッドでfeedを使用する時の罠

facebookのFB.uiメソッドを使うと、モーダルポップアップでShareとかのリンクを出してくれる。
https://developers.facebook.com/docs/reference/javascript/FB.ui/

こんな感じ。

FB.ui({
  method: 'feed',
  link: "http://d.hatena.ne.jp/tohokuaiki/",
    redirect_uri: "http://d.hatena.ne.jp/tohokuaiki/",
  picture: "http://d.hatena.ne.jp/tohokuaiki/logo.gif",
  name: "はてなだいありー",
  caption: "キャプション",
  description: "ここが難物のDescription"
}, function(response) {
    if (response && response.post_id){
        alert('facebookでシェアしました');
    }
});

んだけれども、これをスマートフォンでやる時にDescriptionの文字に改行が入っているだか文字数が多いだかすると

Refused to display 'https://m.facebook.com/dialog/feed' in a frame because it set 'X-Frame-Options' to 'DENY'.

というエラーが出てこんな感じになって固まってしまう。


これがまた、PC版の時は出てこなくってしかもIFRAMEが呼べないよとかエラーが出て相当謎です。とりあえず、Descriptionを36文字以内で対応できたのだけど・・・。