2012-01-12 36 views
2

私は検索してきましたが、包括的な答えは見つけられませんでした。私が知りたいのは、Facebookにリンクを張ったときに、そのサイトのタイトル、説明、画像を生成する方法です。Facebookのリンク機能はどのように機能しますか?

これを行うにはどのようなプロセスが必要ですか?

+0

FBのコードはURLを取得し、バックグラウンドでページをロードし、情報を抽出/生成し、ブームに...あなたのプレビューがあります。 –

+0

しかし、それはどのようにしてコードの観点からそうするでしょうか? – AviateX14

+0

おそらくCURLを使用して情報を取得しています。画像についてはわかりませんが、それを行う方法はいくつかあります。 –

答えて

4

あなたはFacebookへのリンクを共有すると思います。 Facebookは、ウェブサイトの<title>タグのタイトルを見つけます。説明は、HTMLドキュメントの説明メタタグまたはウェブサイトのテキストから取得されます。これは完全に信頼できるものではないので、リンクを投稿する前に説明を編集することができます。私は同じタイトルのために行くと思う。

画像はFacebookがあなたが提供したリンクの文書で見つけることができる画像から選択されます。また、リンクを投稿しているときに使用する画像を選択するか、画像を表示しないように選択することもできます。

私はこれまでに書いたものより詳しいことは分かりませんが、トピックに関するドキュメントも見つかりませんでした。上記は、とにかく機能を使用するために知っておく必要があり、それに応じてFacebook上で共有する予定のウェブサイトを計画するために必要なものです。


リンクからデータを抽出する方法の専門用語はWeb scrapingです。あなたが掻きたいサイト(それを行うにはCURL、またはPHPのfile_get_contentまたは他の多くの方法を使用することができます)を抽出し、抽出するデータを検索する場合は、生のHTMLを取得するだけです。

タイトルの抽出は簡単です。正規表現を使用する場合は、ウェブサイトの<title></title>タグの間にコンテンツを取り込むものを書くことができます。(?<=(\<title\>))(.*)(?=</title>)

類似の正規表現を使用して、サイト上のすべての画像リンクを見つけることができます。サンプルコンテンツと同様です。

0

リンク先のページからその情報を取得します。

titleタグの間にあるページのタイトルで、ページに表示される最初の画像が表示されます。

+1

URLの 'og:tags'を具体的に指定して、表示方法をより詳細に制御できるようにする方が良いですが、これも当てはまります。 – Lix

2

Facebookサーバーは、投稿されたリンクを見て、そこから特定のデータを抽出します。これは、タイトル、画像、または要約としてのテキストであってもよい。どのようにサーバーが何を取るべきか、何を無視するかは、HTMLの構築方法によって決まります。

  • OG: - リンクプレビューのタイトルタイトル開発者がFacebookのサーバーが正しい情報og:tagsが 例としては以下のようになり、そのpages.sに配置されて見ていることを確認するために
  • og:image - プレビューで使用される画像のURL。

    <meta property="og:title" content="The Rock"/>
    <meta property="og:image" content="http://ia.media-imdb.com/rock.jpg"/>


    あなたはこの動作を確認したい場合は、Facebookが持つDebugger Toolを使用することができます。彼らは、ページのHTMLマークアップにこのように表示され

提供されます。このツールはを正確に示していますどのようにfacebookがURLを見ているか、どの情報を見るか、URLの情報の表示に問題がある場合は、注意を促します。

Open Graph Protocolの詳細と、facebook hereでの使用方法については、こちらをご覧ください。

0

ああ、Facebookのグッドリンク機能です。私はに見て、私は私のサイトprojectclimb.com

をするために同様の機能を開発していた時にこれを行う基本的にそれがFacebookのサーバー上で呼ばれるこれらのステップ

AJAX経由

1)クライアントの要求()/ロードするURLを完了する方法via AJAX

2)Facebookサーバはhttp getリクエストを実行し、返されたHTMLを解析し、タイトル、説明タグ、画像を除くすべてを取り除きます。

3)Facebookサーバーは、この情報を再パッケージし、きちんと

はそれはそれは本当に..なかった場合よりもより複雑に聞こえる表示されているすべてのこの情報で素敵なコントロールを表示するクライアントに)AJAXを経由して(返信します私のサイトでこれを複製するには時間がかかります。

関連する問題