2017-03-23 9 views
0

私はこれが正しいとは確信していませんので投稿してください。しかし、もしそうでなければ、それを適切なSOに移動するか、それを移動するように私に教えてください。Facebookはこの機能に何を使用していますか?

私はいくつかのプロジェクト用にウェブサイトを作成するのに請負業者を利用しています。彼はカスタムWebサイト全体をPHPでコーディングしています。

私が要求した機能の1つは、ウェブサイトに投稿されたリンクに、添付された画像のようにFacebook(FB)で表示されるプレビュー機能が必要であるということでした。

enter image description here

しかし、彼は私だけなプレビュー機能を作成するために、埋め込みコードを使用することができることを言い続け。彼にFBプレビューを見せたら、FBは恐らくそれ自身の技術を使っていると言います。現在、YouTubeからテストウェブサイトへのリンクを投稿すると、次のようなテキストとして表示されます。https://www.youtube.com/watch?v=jtkUtNzaFPI&t=1909s

私の質問は FBとは何ですか?これはどのPHP開発者にとっても簡単に実装できるのか、それとも本当に時間のかかる実装です。

答えて

1

あなたの質問への彼の答えは全くのナンセンスである、と彼はあなたが求めている何を望んでいないだけであることを示し

「と彼はFBはおそらく、独自の技術を使用していると言います」。うまくいけば彼に非常に支払っていない。


Facebookが行っていることは、ややこしい、しかし構造的に単純です。操作の順序は次のとおりです。

  1. ユーザーがFacebookページにテキストを入力します。
  2. AJAXリクエストは、テキスト付きのFacebookサーバーに送信されます。
  3. Facebookのサーバーは、そこにリンクが存在すると判断します。
  4. Facebookのサーバーは、詳細を調べるためにリンク先のサーバー側のHTTPリクエストを作成します。
  5. Facebookサーバは、ユーザが見ている入力テンプレートに追加できるものをすべて解析します。
  6. Facebookはユーザーに返信します(多分Webソケット?以前のAJAXリクエストへの応答ですか?)
  7. Facebookページのクライアント側のコードは、ユーザーが見ているものを更新します。

手順2〜6はネットワーク時間がかかるように直感的に聞こえますが、これらは非常に迅速なサービス(Facebook自体、YouTubeなど)になる傾向がありますので、通常は問題ありません。

ここでの主な懸念事項は、ステップ3とステップ5です。これはFacebookがカスタムロジックを使用しているため、かなりの労力を費やす可能性があります。この正確な機能の要求に応じて作成された可能性のある図書館があるかもしれません。私はお勧めする必要はありません、申し訳ありません。

テクニカル実装は簡単な部分です。フェッチするデータは、ユーザーのテキストから判断するのが難しい場合があります。ページに入れるデータを決めるのは難しいかもしれません。それはあなたが実装したいものの範囲に依存します。

たとえば、ユーザーが応答できるさまざまな項目を入力したかどうかを検出するのは難しいかもしれませんが、ユーザーが何を入力したかを検出するのは簡単です(たぶん正規表現で)はYouTubeのURLです。したがって、問題のスペースをに減らして、ちょうどのYouTubeプレビューがあれば、あなたは何かに乗っているかもしれません。そのYouTubeリンクを正常に解析することができれば、あなたはビジネスに携わります。これで、YouTube APIを使用して情報を取得して、ページに送り返すことができます。

他の小さな問題空間(画像へのリンクのプレビュー、他の一般的なサイトのリンクのプレビューなど)では、そのパターンを続行して、同じ機能を追加することができます。

+0

これはGoDaddyサーバーにも実装できますか? – Zanam

+0

@ザナム:私はなぜそうは思わない。あなたはその努力において実際の問題に遭遇しましたか? – David

+0

私は請負業者に返信するためにこの質問をしています:)私は請負業者の開発者が怠け者であることによって彼を悩ませていると思う。 – Zanam

関連する問題