1

Facebook Open Graph に使用している以下のコードを参照してください。

<meta property="fb:app_id" content="XXXXX" /> 
<meta property="og:type"   content="collection" /> 
<meta property="og:url"    content="http://XXXXXXXXXXXXX/" /> 
<meta property="og:title"  content="" /> 
<meta property="og:image"  content="http://XXXXXXXXXXXXXXXXXXXXXXXXXX.jpeg"/>

<script type="text/javascript">
    function postCook() {

        var parameters = new Array();
        parameters["og:title"] = "some_text";

        FB.api(
            'me/<namespace>:<wwwww>',
            'post', {
            collection: 'http://XXXXXXXXXXXXXXXXX/'
        },

        function(response) {

            //alert(response.responseText);
            console.log(response);

            if (!response || response.error) {
                alert('Error occured');
            } else {
                alert('Other22 was successful! Action ID: ' + response.id);
            }
        });
    }
</script>

og:titleここでは、メタ タグで使用する代わりに、パラメータとして他のものも渡したいと考えています。FB.api でさらにいくつかのパラメーターを渡す方法はありますか?

ありがとう。

4

2 に答える 2

2

これについては私が間違っている可能性がありますが (Facebook は容赦なく API を変更しているため)、カスタム タグ情報を渡すことは許可されていません。

代わりに、パブリッシュ アクションが Facebook にヒットすると、Facebook は渡された URL を即座にスクレイピングし、見つけられるすべてのメタ データを取得します。最初に開いているグラフ タグを優先してから、他の従来のメタ情報取得方法 (タイトル タグ、スクレイピング) に戻ります。本文など)。

考えられる「回避策」の 1 つは、ターゲット URL 自体の代わりに「エコー」URL を Facebook に渡すことです。ただし、これはサーバー側のソリューションを使用することに依存していますが、JS SDK でこれを行うことができるとは思わないためです。

つまり、 http://www.foobar.comを facebook に渡す代わりに、 http ://www.barbaz.com/echo.php?title=your%20custom%2otitle&description=etcetc&url=myurl を渡します。

必要に応じて url パラメーターを調整すると、echo.phpを通じて読み取り可能になります$_GET。echo.php には、Facebook が読み取るオープン グラフ タグが含まれており、JavaScript を介してユーザーを適切な URL にリダイレクトします。Facebook のスクレーパーは JavaScript のリダイレクトに従いません。

echo.php:

<html>
    <head>
        <meta property="og:title" value="<?=$_GET['title']?>">
    </head>
    <body>
        <script>
            window.location.href = '<?=$_GET['url']?>';
        </script>
    </body>
</html>

または、echo.php の上部にある facebook のユーザー エージェント文字列を確認し、ヒットしないものを を使用して適切な URL にリダイレクトheader();し、facebook ボットのバウンス ページのみをレンダリングすることもできます。

于 2013-03-15T13:44:48.473 に答える
0

ここでは、メタ タグで使用する代わりに、og:title などをパラメーターとして渡したいと考えています。

これは、Open Graph オブジェクトがどのように機能するかではありません。

URL はオブジェクトを識別し、すべてのデータはこの URL が配信する HTML コード内にある必要があります。

于 2013-03-15T13:44:10.820 に答える