友達にプライベートメッセージを送る


89

Facebook経由でユーザーの情報を接続し、彼のすべての友達にプライベートメッセージを送信する必要があります。出来ますか?


1
これではOPの質問は解決しないと思いますが、プライベートメッセージに返信する方法を探している人は、これが役立つかもしれません:stackoverflow.com/questions/9598369/…–
Trevor

回答:


74

APIを介してプライベートメッセージを送信できるようになりました。

メッセージを送信するためにこのイベントを発生させます(Facebookオブジェクトの初期化は前に行う必要があります)。

to:user FacebookのID

function facebook_send_message(to) {
    FB.ui({
        app_id:'xxxxxxxx',
        method: 'send',
        name: "sdfds jj jjjsdj j j ",
        link: 'https://apps.facebook.com/xxxxxxxaxsa',
        to:to,
        description:'sdf sdf sfddsfdd s d  fsf s '

    });
}

プロパティ

  • app_id
    アプリケーションの識別子。必須ですが、ほとんどのSDKで自動的に指定されます。

  • redirect_uri
    ユーザーがダイアログの[送信]または[キャンセル]ボタンをクリックした後にリダイレクトするURL。必須ですが、ほとんどのSDKで自動的に指定されます。

  • display
    ダイアログをレンダリングする表示モード。これは、ほとんどのSDKで自動的に指定されます。

  • to
    メッセージの送信先のユーザーIDまたはユーザー名。ダイアログが表示されたら、ユーザーはメッセージの送信先となる追加のユーザー、Facebookグループ、および電子メールアドレスを指定できます。Facebookグループにコンテンツを送信すると、そのコンテンツがグループのウォールに投稿されます。

  • link
    (必須)メッセージで送信するリンク。

  • picture
    デフォルトでは、指定されたリンクから写真が撮影されます。メッセージに含める画像のURL。リンクの横に画像が表示されます。

  • nameデフォルトでは、タイトルは指定されたリンクから取得されます。リンクの名前、つまりユーザーがクリックすることを表示するテキスト。

  • description
    デフォルトでは、説明は指定されたリンクから取得されます。リンクの下に表示する説明テキスト。

詳細はこちら

@VishwaKumar:

カスタムテキストでメッセージを送信するには、に「message」パラメータを追加する必要がありますがFB.ui、この機能は廃止されたと思います。メッセージを事前に入力することはできなくなりました。一度試してみてください。

FB.ui({
  method: 'send',
  to: '1234',
  message: 'A request especially for one person.',
  data: 'tracking information for the user'
});

このリンクを参照してください:http//fbdevwiki.com/wiki/FB.ui


3
この解決策はしばらくの間ありました。Facebookのポップアップを使用する必要があり、1人しか入力できないため、問題を完全に解決するわけではありません(現時点では、ここでバグを追跡します)。完全なソリューションでは、標準のAPIを使用して、好きなようにメッセージを送信できますが、Facebookはこれを永久に取り除いたようです。
スコット

2
@Somnath、ソリューションを投稿してくれてありがとう!メッセージの書き込みウィンドウをバイパスしてメッセージを直接送信する方法があるかどうか知っていますか?
Cyber​​Junkie 2012年

2
@Cyber​​Junkie:Facebookはそのようなバイパス機能を提供していないと思います。ユーザーは[メッセージの送信]ボタンをクリックする必要があります。そうでなければ、あなたの受信箱は広告でいっぱいになります。
Somnath Muluk 2012年

@Somnath:私はあなたの解決策を試しましたが、それは機能しますが、ポップアップのメッセージにカスタムメッセージを入力する方法はありますか?
VishwaKumar 2012

@VishwaKumar:メッセージボックスを開いたときにカスタムメッセージを入力する必要があるということですか?
Somnath Muluk 2012

9

いいえ、これは不可能です。Facebookユーザーにあらゆる種類のメッセージを送信するには、そのユーザーの許可が必要です。

誰かがFacebookConnectを使用してサイトにログインすると、Facebookデータをサイトと共有することに明示的に同意し、通常のチャネルを介してそのユーザーにメッセージを送信できるようになります。また、友達リストを取得することもできます。ただし、友達にメッセージを送信することはできません。


私のグーグルフーは私を失敗させています。これを行う方法に関するリンクを取得しましたか?
ランデル2011年

9

これは現在不可能ですが、回避策があります。パブリックレルムでユーザーと交流し、プライベートメッセージを送信するように依頼することはできますが、プライベートメッセージを送り返すことはできず、パブリックメッセージのみを送信できます。もちろん、これはすべて、ユーザーが適切な権限を付与しているかどうかによって異なります。

ある人の友達にアクセスする許可を与えた場合、理論的には、そのユーザーの壁に友達のそれぞれへの参照を投稿して、公にあなたとやり取りし、場合によっては非公開でメッセージを送るように依頼できます。

友達を作る

#if authenticated
https://graph.facebook.com/me/friends
http://developers.facebook.com/docs/reference/api/user/

パブリックドメインに投稿する

http://developers.facebook.com/docs/reference/api/status/

そのユーザーに送信されたメッセージを取得する(許可が与えられている場合)

http://developers.facebook.com/docs/reference/api/message/

:プライベートメッセージを送信できるようになりました。私は答えました。
Somnath Muluk 2012

8

FacebookチャットAPIを使用してプライベートメッセージを送信できます。これは、xmpp4r_facebookgemを使用したRubyの例です。

sender_chat_id = "-#{sender_uid}@chat.facebook.com"
receiver_chat_id = "-#{receiver_uid}@chat.facebook.com"
message_body = "message body"
message_subject = "message subject"

jabber_message = Jabber::Message.new(receiver_chat_id, message_body)
jabber_message.subject = message_subject

client = Jabber::Client.new(Jabber::JID.new(sender_chat_id))
client.connect
client.auth_sasl(Jabber::SASL::XFacebookPlatform.new(client,
   ENV.fetch('FACEBOOK_APP_ID'), facebook_auth.token,
   ENV.fetch('FACEBOOK_APP_SECRET')), nil)
client.send(jabber_message)
client.close

-このことについてブログ記事dalibornasevic.com/posts/...
ドミトリーKhryukin

プライベートメッセージを送信するためのPHPの同様のコードはありますか?
Snehal S 2014

3
これは、2015年5月1日以降のv2.0以降非推奨です
Daniel Cukier

7

回避策の1つは、優れたものではありませんが、新しい@ facebook.com電子メールアドレスを使用することです。これにはいくつかの欠点があります。

1)(この投稿の時点で)すべての人が自分のアカウントで新しいメッセージアプリケーションを有効にしているわけではありません。

2)全員がメッセージアプリで@ facebook.comメールを設定するわけではありません。

3)すべての人が自分のユーザー名(Facebookのユーザー名さえ持っている場合)を電子メールアドレスとして選択するわけではありません。


6

それはいけません。Facebook APIにはread_mailboxがありますが、write_mailbox拡張権限はありません。これは、スパムアプリが友達の受信トレイにあふれるのを防ぐために行われていると思います。


2

モバイルアプリケーションの場合、ダイアログビューにJavaScriptを挿入することで解決策を実行しました。iOSアプリに非表示のWebビューがあります。それはfbメッセージ送信ダイアログAPIをロードします..次に、JavaScriptを挿入して「to」フィールドと「message」フィールドを設定し、フォームを送信します。エンドユーザーは何もする必要がありません。Facebookの受信トレイにサイレントに送信されたメッセージ...


これについてもっと説明できますか?
totty.js 2013年

@Tottyあなたはあなたの認識を示すことができますか?iOSアプリにとても必要です。
アレックス

0

このためのグラフAPIはありません。メッセージを送信するには、facebook xmpp chat apiを使用する必要があります。朗報です。使いやすいphpクラスを作成しました。関数を呼び出すと、メッセージが送信されます。オープンソース、チェックしてください:facebook message api php説明にはクローズドソースと書かれていますが、後でオープンソースになりました。最初のコメントを参照してください。githubからクローンを作成できます。現在はオープンソースです。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.