別の Web サイトから Facebook の友達をインポートするにはどうすればよいですか
-
09-06-2019 - |
質問
ユーザーが自分のユーザー名とパスワードを入力できるようにして Facebook に接続し、アプリを自分のアカウントに接続して連絡先を取得し、サイト上の自分のグループに招待できるようにする方法を探しています。私は以前 Facebook アプリを作成したことがありますが、これはアプリというよりも、私たちが取り組んでいるサイトに友達全員または一部だけを招待できるようにするためのコネクタです。
他のいくつかのサイトがこれを実行し、Yahoo、Gmail、Hotmail の連絡先に接続しているのを見てきました。Facebook Connect は非常に新しいものなので、これを行うために Facebook Connect を使用しているとは思えませんが、使用されている可能性があります。
C# を使用する例は何でも移植できるため、どの言語のソリューションでも問題ありません。Google や Facebook では、この特定の問題に対処する具体的なものが見つかりません。助けていただければ幸いです。
友達ページをスクレイピングする必要があるかもしれないことを示唆する最初の回答が削除されたのを見ました。周りを見れば見るほど、これが私がしなければならないことなのかもしれません。それ以外の方法では、ユーザーがそれをアプリとして追加する必要があると思います。回答がどのように削除されるのか疑問に思っていますが、おそらくそのユーザーが回答を削除したのでしょう。
解決 3
私がこの質問をしたのは少し前で、Facebook Connect が有効になる前でした。これを実際に行うための最良の方法は、Facebook Connect を使用することです。
http://developers.facebook.com/connect.php?tab=website
私は現在これをライブサイトで使用しており、ここで Codeplex の Facebook Developer Toolkit for .NET を使用しています。
http://www.codeplex.com/FacebookToolkit
幸運を!
他のヒント
質問には答えていませんが、何らかの洞察を提供できれば幸いです...
このような機能により、サイト B のフォームにサイト A のユーザー名とパスワードを入力しても問題がないことがわかります。これは絶対にダメです。人々にそう思わせないでください。
しかし、Facebook API を使用すると、ユーザーにログインさせることで、この問題を回避できるかもしれません。 フェイスブック自体 アプリにアクセスを許可します。わずかですが重要な違いです。
使用できます Facebook コネクト 「アカウントリンク」。
Python/Django の例 Facebook 開発者ウィキ:
ページ:
def invite_friends(request):
#HTML escape function for invitation content.
from cgi import escape
facebook_uid = request.facebook.uid
# Convert the array of friends into a comma-delimeted string.
exclude_ids = ",".join([str(a) for a in request.facebook.friends.getAppUsers()])
# Prepare the invitation text that all invited users will receive.
content = """<fb:name uid="%s" firstnameonly="true" shownetwork="false"/> wants to invite you to play Online board games, <fb:req-choice url="%s" label="Put Online Gaming and Video Chat on your profile!"/>""" % (facebook_uid, request.facebook.get_add_url())
invitation_content = escape(content, True)
return render_to_response('facebook/invite_friends.fbml',
{'content': invitation_content, 'exclude_ids': exclude_ids })
テンプレート:
<fb:request-form action="http://apps.facebook.com/livevideochat/?skipped=1"
method="POST" invite="true" type="Online Games"
content="{{ content }}">
<fb:multi-friend-selector max="20"
actiontext="Here are your friends who aren't using Online Games and Live Video Chat. Invite them to play Games Online today!"
showborder="true" rows="5" exclude_ids="{{ exclude_ids }}"> </fb:request-form>
自分の投稿に返信しても大丈夫だろうと調べたので、ここに返信します。
友達リストをスクレイピングする必要があることが判明しましたが、これはFacebookの利用規約で違法です。したがって、私たちのサイトではこれを行うつもりはありません。ルールに従わない場合に何が起こるかを示す記事をいくつか紹介します。Plaxo は Scoble でスクレイピングをテストし、Facebook は今年 1 月に Scoble アカウントを閉鎖しました。
http://scobleizer.com/2008/01/03/what-i-was-using-to-hit-facebook/
Facebookにはこれ用のAPIがあるようです。このブログはこちらからご覧ください。
以下は、電子メールと Facebook などの一部のソーシャル ネットワークの両方から連絡先をインポートできるオープン ソースの PHP 5 ツールです。 オープンインビター は、ほとんどの有名な電子メール プロバイダーやソーシャル ネットワークから連絡先をインポートするための、PHP5 で書かれたオープン ソースの PHP クラスです。
FB Connect を使用して Yahoo にインポートするだけです。すっかり良くなりましたか?画面スクレイピングやFB違反はありません。終わり。