Blog

안녕하세요, myID 팀입니다.

얼마전 myID 주소록에 '메일 주소록'이 들어갔고 이것을 소개하는 글이 myID 블로그에 소개된 바 있습니다.

국내 사용자들이 많이 사용하는 주소록 서비스들 import 하는 기능이 들어갔지요. (네이버, 다음, Gmail, 싸이월드 일촌)

여기서는 이 통합주소록을 쉽게 자신의 SNS 서비스에 붙이는 방법을 소개하고자 합니다. 지금의 통합주소록은 myID 그룹원 초대 시(링크 필요), 그리고 스프링노트 멤버 초대시에만 사용할 수 있어서 이거 오픈마루 서비스에서만 사용할 수 있는 거 아니야? 하는 분들이 있었습니다. 땡~ 아닙니다! 주소록 브라우저는 여러분이 만드는 서비스에서도 얼마든지 연동할 수 있습니다. :-)


통합주소록 팝업을 띄울 때  아래와 같이 선택된 주소들을 받아 처리할 URL을 callback_action 파라미터에 넘겨주시면 됩니다.

>> 친구들에게 email 보내는 간단한 HTML  (이해를 돕기 위해 간략히)

받는 사람 <textarea id="to" name="to" style="width: 300px; height: 120px"></textarea>

<a href="#" onclick="javascript:window.open('http://myid.net/addressbook? selection=email&callback_action= http://our-sns-service.com/address_receiver', 'myIDbrowser', 'width=480,height=580')">myID 주소록에서 선택하기</a>

내용 <textarea name="content"></textarea> ...


myID 주소록 링크는 http://myid.net/addressbook 입니다.

여기에 중요한 파라미터 2개가 있습니다. 바로 selectioncallback_action 이죠.


  • selection - email 만 선택 가능한지, openid 만 선택 가능한지 혹은 둘 다 보여질 지에 대해 지정할 수 있습니다.
    • email - 이메일이 지정된 사용자만을 선택할 수 있게 합니다.
    • openid - 오픈아이디가 있는 사용자만을 선택할 수 있게 합니다.
    • email-first - 이메일과 오픈아이디가 모두 있을 경우 email 을 먼저 표시하도록 합니다.
    • openid-first - 이메일고 오픈아이디가 모두 있을 경우 openid 을 먼저 표시하도록 합니다.
    • mobile - 휴대폰 번호만을 표시하도록 합니다.
  • callback_action - 담은 주소록 항목들을 받아올 CGI 주소입니다.
    • 'selected[]' 라는 http parameter name 으로 선택한 항목을 넘겨받을 자신의 서비스 페이지 URL 입니다.
    • 넘겨 받은 항목들을 자바스크립트로 출력하여 window.opener 에게 넘겨주고 바로 창이 닫히도록 간단히 코딩할 수 있습니다.


그럼 callback_action URL 의 간단 소스코드를 살펴보겠습니다. 예제는 jsp scriptlet 입니다.

<head>
  <script language="javascript">
    var selectedContacts = ''
   <% for(String item : request.getParameterValues("selected[]"))
     out.println("selectedContacts += '" + item + "\\n'") %>
     window.opener.document.getElementById("to").value = selectedContacts
     window.close()
  </script>
</head>

이렇게 myID 통합주소록을 사용함으로, 매번 서비스별로 주소록을 기입하고 복사해서 붙이고 하는 등의 귀찮은 행동들은 이제 막을 내리고 서비스 개발자들도 더이상 주소록을 따로 만들지 않아도 되는 것입니다. 짝짝짝!


아직 myID 통합주소록 갈 길이 멀지만, 조금씩 커나가도록 하겠습니다.

아, 이거 어디에 연동해야할지 모르겠다구요? SNS 서비스를 만드셨으면.. 친구들을 초대해야하지 않겠어요? 친구 초대하는 페이지 만들 때 쓰셔도 되고.. 마음대로 쓰시면 됩니다. :-)

-- rath

Trackback

트랙백 주소 :: http://www.openmaru.com/trackback/190

Comment