미투데이도 얼른 OAuth기반으로 바꿨으면 좋겠네요.
인증 방식은 비슷하긴 하지만, access_token요청하는 부분 같은 게 없어서 callbackurl로 사용자api키를 받게 되는군요. 보안상 안좋을 것 같은...-_-

그리고, 언제까지 스프링노트에 표시를 할 것인지가 의문입니다.
트위터가 OpenAPI를 참 잘해놔서 그런지 굉장히 많은 서비스들이 튀어나오고 있습니다. 이점은 미투데이에서도 얼른 OpenAPI에 힘을 쓰시는 게...^^

api페이지입니다.
http://codian.springnote.com/pages/86001

요청절차는 이러합니다. 물론 여기가면 더 자세히 나와있습니다ㅠㅠ(웹인증기반 기준!)
http://codian.springnote.com/pages/1645274
1) api키를 발급받습니다.
2) 해당 api키로 인증 토큰을 얻습니다.
3) 그 토큰으로 인증url로 이동시킵니다.
4)사용자가 로그인 하면 지정한 callback페이지로 사용자키를 던져줍니다.
5) 사용자키로 글을 쓰면 됩니다.


1. 일단 API키 발급

http://me2day.net/me2/app/key/list
여기서 새 애플리케이션 키 발급한다음에 등록합니다. 그리고 등록된 키에서 설정을 누르면 웹기반인지 데스크탑기반인지 선택하는데, 웹기반이면 callback주소를 입력받습니다. 이 callback주소는 인증 후에 사용자키를 받는 url이 됩니다.

2. 해당api키로 인증토큰 얻기
config.php파일
[code]<?php
define('A_KEY', '발급받은 api키');
?>[/code]
index.php
[code]<?php
    require_once("config.php");
    $result = json_decode(file_get_contents("http://me2day.net/api/get_auth_url.json?akey=" . A_KEY));
    print_r($result);
?>
<!doctype html>
<html>
    <head>
        <meta charset="EUC-KR">
        <title>미투데이 인증 후 글쓰기</title>
      </head>
    <body>
        <br />
        <a href="<?php echo $result->url ?>">미투데이 인증하기</a>
      </body>
</html>[/code]
php에서 http://me2day.net/api/get_auth_url.json를 요청해서 token을 받습니다. 그러면 인증url이 같이 떨어집니다. 그 url로 이동하게 되면 아래와같이 로그인하는 화면이 나옵니다.
사용자 삽입 이미지
여기서 로그인하고 인증하면 1번에서 지정한 callbackurl로 이동하게 됩니다.

3. callback url에서 데이터받고 글쓰기 폼생성

callback.php
[code]<?php
    require_once("config.php");
   
    $token = $_GET["token"];
    $user_id = $_GET["user_id"];
    $user_key = $_GET["user_key"];
    $result = $_GET["result"];
   
    // 세션저장
    session_start();
    $_SESSION["user_id"] = $user_id;
    $_SESSION["user_key"] = $user_key;
   
    // 인증이 확실한지 확인
    $authKey = "12345678" . md5("12345678" . $user_key);
    $result = file_get_contents("http://me2day.net/api/noop?uid={$user_id}&ukey={$authKey}&akey=" . A_KEY);
?>
<!doctype html>
<html>
    <head>
        <meta charset="EUC-KR">
        <title>미투데이 인증 콜백</title>
        <script type="text/javascript" src="/js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript">
            $(document).ready(function(){
                $("#btnPost").click(function(){
                    var body = $("#inputPost").val();
                    if (body.length < 1){
                        alert("글입력해요!");
                        return;
                    }
                    $.getJSON("post.php?callback=?", {body:body}, function(data){
                        alert("글쓰기 성공 = " + data.result);
                    });
                });
            });
        </script>
      </head>
    <body>
        <?php echo $result ?><br/>
        <input type="text" id="inputPost" name="inputPost" /><br />
        <input type="button" id="btnPost" name="btnPost" value="글쓰기"/>
      </body>
</html>[/code]
보면 user_id랑 user_key를 세션에 저장합니다. 만약 자신의 사이트에서 미투데이인증과 통합을 원한다면 api키를 데이터베이스같은 영속적인 것에 저장하고 쓰는 것이 좋습니다. 그럼 따로 인증같은 것을 하지 않아도, 자신의 사이트만 인증을 해도 글을 쓸 수 있으니까요^^
나중에 api_key값이 바뀐다고 해도, noopapi를 호출해서 인증이 정확한지 확인 후 정확하지 않으면 다시 인증받으면 되니까요^^

user_id랑 user_key만 있으면 이제 글을 쓸 수 있으므로, http://me2day.net/api/noop를 호출해서 유효한지 확인을 합니다. 이제부터 인증받은 api들은 uid와 ukey와 akey를 같이 파라메터에 붙여서 호출해야합니다.
uid는 사용자 아이디, ukey는 임의8자리숫자 + md5(임의8자리숫자 + 사용자키), akey는 api키를 넣으면 됨!

4. 글쓰기
post.php
[code]<?php
    require_once("config.php");
   
    $body = $_GET["body"];
    $callback = $_GET["callback"];
   
    session_start();
    $user_id = $_SESSION["user_id"];
    $user_key = $_SESSION["user_key"];
   
   
    // 인증이 확실한지 확인
    $authKey = "12345678" . md5("12345678" . $user_key);
    $result = file_get_contents("http://me2day.net/api/create_post/{$user_id}.json?uid={$user_id}&ukey={$authKey}&akey=" . A_KEY . "&post[body]={$body}");
   
    header("Content-type: application/json");
    echo "{$callback}({'result':'{$result}'})";
?>[/code]
그냥 api문서대로 호출하면 됨!

테스트 url~
mudchobo.tomeii.com/test/me2daytest/

나중에 php용 라이브러리를 만들어봐야겠다...
 
Posted by 머드초보
,
 
저의 스마트폰 사용의 20%(?)를 차지하고 있는 SNS어플에 대해서 소개합니다~^^
생각해보니 제 안드로이드 사용은 게임20%, 인터넷20%, SNS20%, 음악20%, 뱅킹10%,  문자전화10%인 듯-_-

스마트폰을 가지게 되면서 소셜네트워크서비스에 대한 글 작성 같은 것이 쉬워지면서 더욱 관심있게 사용하게 되었는데요^^ 그래서 어플을 리뷰해보려고 합니다~

1. Twitter어플 - Seesmic

트위터 어플은 공식어플이 있는데요. 그냥 깔끔하기만 하고, 트위터어플 중 가장 기능이 없고 최악의 어플인 듯-_- 그래서 다른 어플을 추천해요~ 전 Seesmic이 좋더군요^^
멀티 계정설정도 되는 것 같은데, 전 계정이 하나이므로-_-
일단 메인화면~
사용자 삽입 이미지

Timeline, Replies, Messages, Profile 탭이 보이는군요.
트위터를 사용하시는 분들은 다 아실만한 것들이죠~
Timeline을 보면 자신이 쓴 것은 노란색, 저를 Reply한 것은 하늘색으로 표기되어서 자신에 관련된 글을 보기 쉽게 해주죠.
Replies는 @자신아이디로 검색된 내용을 보여줍니다.
Messages는 DM(Direct Message)를 볼 수 있구요~
Profile은 자신의 정보!

그리고 글을 볼 때 좋은 점은 포토서비스 같은 경우, Twitter공식어플은 직접 웹사이트를 띄워버리는데, 이건 그냥 이미지만 추출해서 보여줘서 참 좋아요~

글을 작성할 땐 사진첨부 및 위치입력, 비디오첨부가 가능합니다. (물론 다른 서비스에 올리고 링크만^^)
사용자 삽입 이미지
저 세번째 아이콘은 뭐지-_- 포토나 비디오 같은 경우 서비스 업체를 고를 수 있습니다^^

그리고 알림기능이 있습니다. 자신에게 Reply가 오거나 DM이 오면 알려주는 것입니다.
사용자 삽입 이미지
Update Interval로 몇분마다 데이터가 있는지를 가져올 지를 정할 수 있습니다. Notifications type같은 경우는 Tweets, Replies, Direct messages가 있는데, Tweets에 체크하는 순간-_- 자신이 팔로우 하는 사람이 많이 있다면 Interval타임마다 미친듯이 진동할 것입니다-_-
암튼, 자신에게 Replies된 것을 바로 알림을 받을 수 있어 참 좋죠~^^

2. 미투데이 - 미투데이

미투데이 어플은 왜 업뎃이 없죠ㅠㅠ 처음에 런칭하고 업뎃 한번도 없었음 ㅠㅠ
암튼, 메인화면입니다^^
사용자 삽입 이미지
이건 위에 Seesmic처럼 탭방식이 아닙니다. 메뉴를 누르면, 모아보는, 나는, 친구들은, 소환받은, 쪽지 등으로 볼 수 있게 되어있습니다.

그리고 글을 선택해서 들어가면 상세보기를 할 수 있습니다. 댓글이 보이고, 댓글을 작성할 수 있으며 미투를 할 수 있습니다.
사용자 삽입 이미지
여기서 댓글을 선택하면 /아이디/형식으로 댓글을 작성할 수 있습니다.
그리고 위글처럼 특정 글에 댓글을 자신의 미투에 쓴 경우 원본 글을 볼 수 있습니다.

그리고 미투데이에서도 알림 기능이 있습니다. 물론 미투데이는 자체적으로 소환받거나 쪽지를 받으면 SMS를 받는 기능이 있지만, 어플에서도 알림기능을 지원합니다^^
아래와 같이 미투데이에서 알림이 왔다고 뜹니다. 클릭하면 소환받은 목록으로 가게 됩니다~
사용자 삽입 이미지


아직 초기버전이라서 기능이 미약한 점이 좀 있는데요. 일단 댓글을 쓰면 지울 수 없습니다-_- 웹으로 가셔서 지우셔야합니다ㅠㅠ
그리고, 친구들 소환하기 기능이 없습니다. 아이디를 직접 외워서 쳐야합니다. 웹에서는 자동완성으로 친구닉넴으로 찾을 수 있는데, 그 기능이 있었으면 좋겠네요~^^

3. 포스퀘어 - Foursquare

포스퀘어는 친구도 별로 없고 그냥 체크인만 하는 상태라 아직까진 잘 모르겠네요-_-
일단 메인화면입니다.
사용자 삽입 이미지

보면 친구가 어디에 마지막으로 체크인을 했는지 보여줍니다. 그리고 Places탭과 Me탭이 있네요.
Places탭을 선택하면 현재 여기 근처에 어떤 지역이 있는지 보여줍니다.
사용자 삽입 이미지
선택해서 체크인 하고 싶은 거 하면 됩니다.
아오~ 지금 포스퀘어 잘 안되네-_- 암튼, 서버장애 엄청 납니다-_-
그냥 해당 지역을 체크인 해서 그 지역의 Mayor가 될 수도 있고, 그 지역에 체크인한 사람이 맘에 들면 친구먹는 거고, 그리고 체크인할 때 트위터와 연동해서 글을 쓸 수 있는 뭐 그런 지역기반sns입니다.
아이디어는 참 좋은 것 같아요~
게다가 해당 지역사람끼리 연결시켜주니 더욱 좋은 듯~

ps. 암튼, 하게되면 빠져듭니다-_-
업무시간에도 계속 미투데이와 트위터를 켜놓는 자신을 보게될 것입니다-_-
 
Posted by 머드초보
,