[facebook] 친구에게 비공개 메시지 보내기

Facebook을 통해 사용자 정보를 연결하고 모든 친구에게 비공개 메시지를 보내야합니다. 가능합니까?



답변

이제 API를 통해 개인 메시지를 보낼 수 있습니다.

메시지 전송을 위해이 이벤트를 발생시킵니다 (페이스 북 객체의 초기화는 이전에 완료되어야합니다).

to:user 페이스 북 아이디

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 그룹에 콘텐츠를 보내면 그룹의 담벼락에 게시됩니다.

  • 링크
    (필수) 메시지에서 보낼 링크입니다.

  • picture
    기본적으로 지정된 링크에서 사진을 가져옵니다. 메시지에 포함 할 사진의 URL입니다. 링크 옆에 사진이 표시됩니다.

  • 이름 기본적으로 지정된 링크에서 제목을 가져옵니다. 링크의 이름, 즉 사용자가 클릭 할 텍스트를 표시합니다.

  • 설명
    기본적으로 설명은 지정된 링크에서 가져옵니다. 링크 아래에 표시 할 설명 텍스트입니다.

여기에서 더보기

@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


답변

아니요, 불가능합니다. Facebook 사용자에게 모든 종류의 메시지를 보내려면 해당 사용자의 권한이 필요합니다.

누군가 Facebook Connect를 사용하여 귀하의 사이트에 로그인하면 Facebook 데이터를 귀하의 사이트와 공유하는 데 명시 적으로 동의하는 것이며, 그러면 해당 사용자에게 일반 채널을 통해 메시지 를 보낼 수 있습니다 . 친구 목록을 가져올 수도 있습니다. 그러나 친구에게 메시지를 보낼 수는 없습니다.


답변

지금은 불가능하지만 해결 방법이 있습니다. 공개 영역에서 사용자와 소통하고 비공개 메시지를 보내달라고 요청할 수 있지만 비공개 메시지는 다시 보낼 수 없으며 공개 메시지 만 보낼 수 있습니다. 물론 이것은 사용자가 올바른 권한을 제공하는지 여부에 달려 있습니다.

한 사람의 친구에 액세스 할 수있는 권한을 부여한 경우 이론적으로 각 친구에 대한 참조와 함께 해당 사용자 담벼락에 게시하여 공개적으로 상호 작용 한 다음 잠재적으로 비공개로 메시지를 보낼 수 있습니다.

친구 사귀기

#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/


답변

Facebook Chat 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


답변

좋은 방법은 아니지만 한 가지 해결 방법은 새 @ facebook.com 이메일 주소를 사용하는 것입니다. 여기에는 몇 가지 단점이 있습니다.

1) 모든 사람 (이 게시물 현재)이 자신의 계정에서 새 메시지 애플리케이션을 사용하는 것은 아닙니다.

2) 모든 사람이 메시지 앱에서 @ facebook.com 이메일을 설정하지는 않습니다.

3) 모든 사람이 이메일 주소로 사용자 이름 (페이스 북 사용자 이름이있는 경우)을 선택하지는 않습니다.


답변

당신은 할 수 없습니다. Facebook API에는 read_mailbox가 있지만 write_mailbox 확장 권한은 없습니다. 스팸성 앱이 친구의받은 편지함에 넘쳐나는 것을 방지하기 위해 이것이 수행 된 것 같습니다.


답변

모바일 응용 프로그램의 경우 대화 상자보기에 자바 스크립트를 삽입하여 해결책을 찾았습니다. 내 iOS 앱에 숨겨진 웹보기가 있습니다. fb 메시지를로드하여 대화 상자 api ..를 보낸 다음 “to”및 “message”필드를 설정하고 양식을 제출하기 위해 자바 스크립트를 삽입합니다. 따라서 최종 사용자는 아무것도 할 필요가 없습니다. Facebook받은 편지함으로 메시지를 자동으로 전송 …