4

私は、Facebookの友達に招待状を送信できるDropboxの共有機能に似たものを実装しようとしています。

https://www.dropbox.com/share

ログイン/アカウントを作成し、それを表示するには共有フォルダを用意する必要があります。

この機能は、アプリのアクセス許可を与えるFacebookダイアログを1つだけ表示します-プライベートメッセージを送信する方法さえわかりません-私が行った調査から、これは不可能です、そして第二に、私はFacebookのダイアログを使用せずにそれを達成する方法がわかりません-独自のモーダルボックスを使用しています。

これまでのところ、Facebookの友達のリストをjquery uiオートコンプリートに取り込むことができましたが、IDを取得したので、選択した友達にプライベートメッセージを送信する方法がわかりません。

これを行う方法を考える唯一の方法は、id @ facebook.comでユーザーにメールを送信することでしたが、通常のウォール/タイムラインの投稿のように画像、説明、リンクなどを添付する方法がわかりません。

ここにいるFacebookの専門家の何人かが彼らの考えや意見を提供してくれることを望んでいましたか?

4

2 に答える 2

4

アプリがアプリ以外のユーザーにプライベートメッセージを送信できるようにする唯一の方法は、チャットAPIを使用することです。そのためには、「xmpp_login」を要求する必要があります。

Facebookチャットと統合するアプリケーションにユーザーのログイン機能を提供します

権限リファレンス

ユーザーのxmppクライアントになることができたら、ユーザーの友達からプレゼンスの更新を取得し(これにより、ユーザーのどの友達がオンラインであるかを知ることができます)、ユーザーに代わって友達にメッセージを送信できますが、また、ここでfacebookは、メッセージがユーザーから送信されることを要求します。これはおそらくドロップボックスのモーダルダイアログです。

このAPIは、アプリにxmppクライアントが必要なため、単純なものではありません。いくつかのクライアント実装(フラッシュおよびjsクライアント)がありますが、私はそれについての経験がありませんが、一方で、ログインしたクライアントごとのxmppの管理は難しい場合があるため、本当に必要でない限り、それを避けるようにしてください。 。

Facebookでドロップボックス用に持っているアプリを削除してから再度追加すると、アクセス許可が何であるかを確認し、実際に「xmpp_login」アクセス許可を要求しているかどうかを確認できます。要求されていない場合は、何を要求しているかをお知らせください。 。


編集

あなたは私に興味をそそられたので、私はそれを自分で試しました、そしてあなたは正しいです、彼らは「xmpp_login」許可を求めておらず、「offline_access」と「publish_stream」だけを求めています。

彼らがどうやってそれをやってのけるのか説明できません、彼らはクライアントでそれをしません、私は彼らのサーバーに行くリクエストを見ることができます。私が持っている最も良い推測は、彼らがフェイスブックからの特別な特権を持っているということです、私は彼らがいくつかの会社でそれをしていることを知っています。

私がこれについて正しければ、2つのオプションがあります:送信ダイアログを使用するか、チャットAPIを使用します。

于 2012-04-26T21:56:27.943 に答える
1

Dropboxでは、Facebookのメールアドレス(例:username@facebook.com)を使用して特定のユーザーにメールを送信しています。

このメールアドレスは、Facebookの一般アカウント設定で確認できます。その下に次のようなメモがあります。

「Facebookの電子メールは公開ユーザー名に基づいています。このアドレスに送信される電子メールはFacebookメッセージに送信されます。」

ユーザーのメールIDと友達のユーザー名を取得するだけです。

添付ファイルも一緒に送信できます。

于 2013-07-26T12:40:05.593 に答える