0

私のウェブサイト上のファイルへの次の URL があります。

http://www.foo.com/download/1

これは、ダウンロード ヘルパーを使用して、force_download 関数でファイルをダウンロードします。

サイトのページの 1 つにある html テーブルに表示されるこれらのファイルに同様のボタンを提供するように依頼されました。

そこで、facebook のようなボタン ツールを使用して、次のボタンを作成しました。

<div class="fb-like" data-href="http://www.foo.com/download/1" data-send="false" data-width="450" data-show-faces="false"></div>

ただし、これはファイルへの直接リンクであるため、正しい開いているグラフのメタデータが受信されません。たとえば、説明は次のようになります。

の質問は、ダウンロードへのリンクにオープン グラフ メタデータを提供するにはどうすればよいですか? 例えば:

  <meta property="og:type"            content="website" /> 
  <meta property="og:url"             content="http://foo.com/download/1" /> 
  <meta property="og:title"           content="Download 1" /> 
  <meta property="og:image"           content="bar.png" /> 
  <meta property="og:description"     content="File description" /> 
4

1 に答える 1

1

ファイル自体をダウンロードする URL については、(おそらく) html ページではなく、たとえそうであっても、独自のメタデータでファイルのコンテンツを変更したくないため、できません。

ファイルをダウンロードするクライアントと facebook のクローラーの両方で使用される URL で何らかのリダイレクトを使用することができます。もちろん、実際のダウンロード用の URL も必要です。

いいねとユーザーのために送信されたビューで:

<!-- meta tags -->
<meta property="og:type" content="website" />
<meta property="og:url" content="http://foo.com/download/1" /> 
<!-- .... -->
<body>
    <script>
    // imaginary real download url url
    window.location = '<?php site_url('download/real_download/'.$download_id);?>';
    </script>
</body>

Facebook も更新メタ タグを理解していないようです。

<meta http-equiv="refresh" content="1;URL='<?php site_url('...')?>'">

免責事項: Facebook のクローラーが何を理解しているかを説明するドキュメントは見つかりませんでした。そのため、これらのいずれかが機能し続けるという保証はありません。私自身、同様の状況で1年ほどJavaScriptソリューションを使用しています。

于 2013-04-14T10:18:40.767 に答える