73

http://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fwww.google.com

テキストと画像をカスタマイズするにはどうすればよいですか。Facebookがドキュメントをプルしたようです。

4

5 に答える 5

79

あなたが話しているのは、リンクを共有するときに Facebook が抽出するプレビュー画像とテキストです。Facebook はOpen Graph Protocolを使用してこのデータを取得します。

og:meta基本的に、共有したい URL にこれらのタグを配置するだけです。

<meta property="og:title" content="The Rock"/>
<meta property="og:type" content="movie"/>
<meta property="og:url" content="http://www.imdb.com/title/tt0117500/"/>
<meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>
<meta property="og:site_name" content="IMDb"/>
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:description"
      content="A group of U.S. Marines, under command of
               a renegade general, take over Alcatraz and
               threaten San Francisco Bay with biological
               weapons."/>

ご覧のとおり、画像のプロパティと説明の両方があります。ページのog:metaタグに変更を加えた場合、Facebook Debuggerを使用してこれらの変更をテストできます。間違いを犯したかどうか (およびその修正方法) が表示されます。

于 2012-09-22T19:56:45.667 に答える
58

アップデート:

この回答は時代遅れです。

@jack-marchetti が彼のコメントで述べたように、@devantoine のリンクはhttps://developers.facebook.com/x/bugs/357750474364812/です。

Ibrahim Faour が Facebook に提出されたバグに返信したように、Facebook は sharer.php の動作方法を変更しました。

共有者はカスタム パラメータを受け入れなくなり、Facebook はプレビューに表示されている情報を、Facebook に投稿として表示されるのと同じ方法で、url OG メタ タグから取得します。


これを試してください(この例ではJavascriptを使用):

'http://www.facebook.com/sharer.php?s=100&p[title]='+encodeURIComponent('this is a title') + '&p[summary]=' + encodeURIComponent('description here') + '&p[url]=' + encodeURIComponent('http://www.nufc.com') + '&p[images][0]=' + encodeURIComponent('http://www.somedomain.com/image.jpg')

画像部分なしでこれをすばやく試してみたところ、sharer.php ウィンドウが事前に入力されているように見えるので、解決策のように見えます。

私はこのSOの記事でこれを見つけました:

Facebook のカスタム タイトル / 画像 / 説明が必要です。Flash アプリからのリンクを共有します。

このリンクは Lelis718 からの回答に含まれています。

http://www.daddydesign.com/wordpress/how-to-create-a-custom-facebook-share-button-for-your-iframe-tab/

したがって、この回答はすべて Lelis718 の功績によるものです。

[2013 年 5 月 3 日編集] - ここにあった元の URL は、クエリ文字列に "s=100" を含めないと機能しなくなったようです - 理由はわかりませんが、それに応じて更新しました

于 2012-10-09T11:25:57.610 に答える
22

次の回答が機能しなくなったようで、Facebook はフィード ダイアログ リンクのパラメーターを受け入れなくなりました。

URL 経由でフィード ダイアログを使用して、Sharer.php の動作をエミュレートできますが、少し複雑です。共有する予定の URL のベース URL が設定された Facebook アプリのセットアップが必要です。次に、次のことができます。

1) 次のようなリンクを作成します。

   http://www.facebook.com/dialog/feed?app_id=[FACEBOOK_APP_ID]' +
        '&link=[FULLY_QUALIFIED_LINK_TO_SHARE_CONTENT]' +
        '&picture=[LINK_TO_IMAGE]' +
        '&name=' + encodeURIComponent('[CONTENT_TITLE]') +
        '&caption=' + encodeURIComponent('[CONTENT_CAPTION]) +
        '&description=' + encodeURIComponent('[CONTENT_DESCRIPTION]') +
        '&redirect_uri=' + FBVars.baseURL + '[URL_TO_REDIRECT_TO_AFTER_SHARE]' +
        '&display=popup';

(明らかに [CONTENT] を適切なコンテンツに置き換えます。ドキュメントはこちら: https://developers.facebook.com/docs/reference/dialogs/feed )

2) 共有リンクをクリックすると、JavaScript を使用してポップアップ ウィンドウでそのリンクを開きます。

3) 共有が終了したときにユーザーをリダイレクトするファイル (つまり、popupclose.html) を作成したいのですが、このファイルには<script>window.close();</script>、ポップアップ ウィンドウを閉じるためのファイルが含まれています。

フィード ダイアログを使用することの唯一の欠点 (セットアップ以外) は、ページも管理している場合、ページを介して共有することを選択できず、通常のユーザー アカウントのみが共有できることです。また、非常に不可解なエラー メッセージが表示されることもあります。そのほとんどは、Facebook アプリの設定、または共有しているコンテンツまたは URL の問題に関連しています。

于 2014-02-03T21:48:29.680 に答える