0

Facebookのカスタムアクション投稿で[オブジェクト](下の赤でマーク)にカスタムリンクを追加しようとしています。

ここに画像の説明を入力

これは私のコードです:

FB.api('/me/testapponens:cook', 'post',
{ recipe: 'http://foobar.com/page1.html' },
   function(response) {
     if (!response || response.error) {
        alert('Error occured');
     } else {
        alert('Cook was successful! Action ID: ' + response.id);
     }
});

さて、http://foobar.com/page1.html私の「レシピ」に「 」を記載したので、これが投稿されると、このページからオープングラフのプロパティが選択されます。

問題: リンクをサードパーティ リンク www.thirdparty.com/page1.html として表示する必要がありますが、開いているグラフのメタ プロパティを thirdparty.com/page1.html に書き込むことはできません (そのページを制御できないため) )。

だから、私はこれを行うことにしました:

i) Create a dummy page : www.foobar.com/page1.html.
ii) Add all the og meta to it.
iii) Add a redirect (javascript) code to the dummy page so that it goes to the third party page.

www.foobar.com/page1.html次のようになります。

<html ...>
<title> Page 1 </title>
 <meta property="fb:app_id"            content="..." /> 
...
<script type="text/javascript">
function redirect1()
{
    window.location = "http://thirdparty.com/page1.html"
}
</script>
</head>
<body onLoad="redirect1()"></body>
</html>

質問: これはハッキーなアプローチであり、ユーザーには受け入れられない可能性があると思います。これを行うより良い方法はありますか?私が何をしようとしているのか説明できなかった場合はお知らせください。

PS : 私はスパマーではありません。第三者のページはクライアントからのものであり、ユーザーを誤解させようとしているわけではありません。

4

1 に答える 1

1

これはハッキーなアプローチであり、ユーザーには受け入れられない可能性があると思います。これを行うより良い方法はありますか?

ユーザー エージェントをチェックして、サーバー側のリダイレクトを実行できます。Facebook スクレイパーであることが示されていない場合にのみ、クライアントをリダイレクトします。それ以外の場合は、スクレイパーにページから OG メタ情報を読み取らせます。

FB スクレイパーの検出方法: https://developers.facebook.com/docs/reference/plugins/like/#scraperinfo

于 2012-12-10T09:07:15.100 に答える