90

Facebook 接続ユーザーの情報を取得し、彼の友人全員にプライベート メッセージを送信する必要があります。出来ますか?

4

9 に答える 9

74

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

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

to:userフェイスブックの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
    (必須) メッセージで送信するリンク。

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

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

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

詳細はこちら

@ヴィシュワクマール:

カスタム テキストでメッセージを送信するには、'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

于 2012-02-23T12:50:05.630 に答える
9

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

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

于 2010-04-09T04:53:32.897 に答える
9

Facebook Chat API を使用してプライベート メッセージを送信できます。gem を使用した Ruby の例を次に示しますxmpp4r_facebook

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
于 2012-07-30T07:06:46.410 に答える
7

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

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

2) 誰もがメッセージ アプリで @facebook.com メールを設定しているわけではありません。

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

于 2011-06-13T15:06:32.290 に答える
6

それはいけません。Facebook API にはread_mailboxがありますが、write_mailbox 拡張アクセス許可はありません。これは、スパムのようなアプリが友人の受信トレイに殺到するのを防ぐために行われていると思います。

于 2010-07-21T16:19:29.947 に答える
2

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

于 2012-12-04T07:55:47.403 に答える
0

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

于 2014-02-04T18:36:45.557 に答える