2009-08-21 9 views
0

私は外部のサイトの誰かが私の友人であることを検証する方法としてFacebookを使用することに興味があり、それに基づいて特別なコンテンツを表示します。 Facebookのインサイド外部のウェブサイト上でFacebookフレンドの検証

、このシナリオを検討:私が写真を投稿してのみ

  • 誰かがその人は私の友人である場合は、Facebookが表示されるURL
  • で私の写真を閲覧しようとする友人たちに許可を与える

    1. を写真。

    私は私自身の個人的なウェブサイト上でこの動作を模倣したい:

    1. ユーザーは、「プライベート」コンテンツ
    2. 私のサイト(いずれかのサーバー側によって、JS、アヤックス、IFRAMEへのリンクをたどります、何でも)Facebookに自分のブラウザでFacebookにログインしているかどうかを尋ねる。
    3. ユーザーにログインするためのFacebookポップアップが表示されます。
    4. ユーザーがログインすると、自分の友だち(サイトにコード化されたID)であるかどうかを確認しますコンテンツ

    でこれは私のサイトやアプリケーションを「認可」するユーザーを必要とせずに可能ですか?私の唯一のアイデア(http://wiki.developers.facebook.com/index.php/Authorizing_Applicationsに基づいて)私は私のサイトのアプリケーションを作成することができますし、外部サイトでは、私のサイトを与えるために(私のサイトをiframeで順番にロードする) FacebookユーザIDをセッションに保存します。

    これを達成する最も良い方法は何ですか?

  • +0

    回答がありませんので、私は投稿しませんが、これは可能ではないと思います。 – MitMaro

    答えて

    1

    はい、可能です。 Facebook Connectを利用する必要があります。基本的な流れは、あなたが上記のようなものです:

    1. あなたのサイトのユーザーは プライベートコンテンツの下にリンクしています。このコンテンツは、あなたのデータベースに(または他の方法で)所有者のFacebook IDでマークされた です。
    2. あなたのサイトはFacebook APIを使用して に訪問者がログインしているかどうかを確認します in Facebook。そうでない場合は、アクセスを拒否する 。それらがログインしている場合
    3. は、あなたが コンテンツ所有者のFacebook IDと訪問者のFacebookのID を比較するfriends.areFriends APIメソッド を利用することができます。友だちでない場合は のアクセスを拒否してください。そうでなければ表示することができます。

    のFacebook Connectには理解しにくいひどいドキュメントにもかかわらず、実際に実装するのはかなり簡単です。一度それを稼働させると、基本的には、Facebookにログインしているあなたのサイトの訪問者はFacebookに問い合わせるためのセッションキーを提供します。

    +0

    私はこれを受け入れられた答えとしてマークすることができるかどうかを判断しようとしています。Facebook Connect認証ポップアップウィンドウを表示せずに上記の手順を実行できる方法はありますか? (私のIFRAMEのアイデアのようなものですか?) – Nicole

    +0

    Facebook APIを使用して友人情報を取得するには、あなたのウェブ訪問者がある時点でFacebookにログインする必要があります。そうでなければ友人情報を取得することはできません。あなたがアクティブなセッションなしでFacebookに問い合わせることができたなら、それは深刻なプライバシー問題になります。あなたの訪問者は既にFBにログインしているサイトに到着する可能性があります。その場合、プロンプトを表示する必要はありません。あなたのiframeのアイデアは、おそらくいくらか機能するでしょうが、プロンプトを表示する代わりに、アプリケーションを追加してFacebookアプリケーションからアクセスする必要があります。これはほぼ同じことです。 – zombat

    +0

    私は好奇心を持っているユーザーが既にFacebookにログインしている場合です - もしそうなら、(私のサイトへの最初の訪問であれば)彼らにプロンプ​​トを表示せずにIDを取得するにはどうすればいいですか? – Nicole

    関連する問題