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


89

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


1
나는 이것이 OP의 질문을 해결하지 못한다는 것을 알고 있지만, 비공개 메시지에 답장하는 방법을 찾는 사람들은 이것이 유용하다는 것을 알게 될 것입니다. stackoverflow.com/questions/9598369/…
Trevor

답변:


74

이제 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


3
이 솔루션은 한동안 존재했습니다. Facebook의 팝업을 사용해야하고 한 사람 만 채울 수 있으므로 문제가 완전히 해결되지는 않습니다 (이 시점에서 여기에서 버그 추적 ). 완전한 솔루션을 사용하면 표준 API를 사용하여 원하는 방식으로 메시지를 보낼 수 있지만 Facebook이이 기능을 완전히 제거했을 수 있습니다.
Scott

2
@Somnath, 솔루션을 게시 해 주셔서 감사합니다! 메시지 쓰기 창을 건너 뛰고 직접 메시지를 보내는 방법이 있는지 알고 계십니까?
CyberJunkie

2
@CyberJunkie : 페이스 북은 그러한 우회 기능을 제공하지 않는다고 생각합니다. 사용자는 메시지 보내기 버튼을 클릭해야합니다. 그렇지 않으면받은 편지함에 광고가 가득 할 것입니다.
Somnath Muluk

@Somnath : 솔루션을 시도했지만 작동하지만 팝업의 메시지를 사용자 지정 메시지로 채우는 방법이 있습니까?
VishwaKumar

@VishwaKumar : 메시지 상자를 열 때 사용자 지정 메시지로 채워야한다는 뜻입니까?
Somnath Muluk 2012-08-22

9

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

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


내 Google-fu가 실패하고 있습니다. 이 작업을 수행하는 방법에 대한 링크가 있습니까?
Randell

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

이것에 대한 블로그 게시물 -dalibornasevic.com/posts/…
Dmitry Khryukin

비공개 메시지를 보내기 위해 PHP에 비슷한 코드가 있습니까?
Snehal S 2014

3
2015 년 5 월 1 일 이후 v2.0부터 사용되지 않습니다
Daniel Cukier

7

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

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

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

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


6

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


2

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


이것에 대해 더 설명 할 수 있습니까?
Totty.js

@Totty 당신의 실현을 보여줄 수 있습니까? iOS 앱에 매우 필요합니다.
Alex

0

이에 대한 그래프 API가 없습니다. facebook xmpp 채팅 API를 사용하여 메시지를 보내야합니다. 좋은 소식은 다음과 같습니다. 사용하기 너무 쉬운 php 클래스를 만들었습니다. 함수를 호출하면 메시지가 전송됩니다. 오픈 소스, 그것을 확인하십시오 : facebook message api php 설명은 닫힌 소스라고 말하지만 나중에 오픈 소스로 만들어졌습니다. 첫 번째 주석을 참조하십시오 .github에서 복제 할 수 있습니다. 이제 오픈 소스입니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.