logoKakao API Test

PHP Simple Pack

  • 사용방법

    * PHP Simple Pack : [Github] [Blog]
     * KakaoService.php 수정
    public function __construct($return_type)
    {   //★ 수정 할 것
        $this->JAVASCRIPT_KEY = "22222222222222222222222222222222"; // https://developers.kakao.com > 내 애플리케이션 > 앱 설정 > 요약 정보
        $this->REST_API_KEY   = "44444444444444444444444444444444"; // https://developers.kakao.com > 내 애플리케이션 > 앱 설정 > 요약 정보
        $this->ADMIN_KEY      = "77777777777777777777777777777777"; // https://developers.kakao.com > 내 애플리케이션 > 앱 설정 > 요약 정보
        $this->CLIENT_SECRET  = "QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ"; // https://developers.kakao.com > 내 애플리케이션 > 제품 설정 > 카카오 로그인 > 보안
        $this->RETURN_TYPE  = $return_type;
    
        $protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https://" : "http://");
        $this->REDIRECT_URI          = urlencode($protocol . $_SERVER['HTTP_HOST'] . "/your_callBack");  // 내 애플리케이션 > 제품 설정 > 카카오 로그인
        $this->LOGOUT_REDIRECT_URI   = urlencode($protocol . $_SERVER['HTTP_HOST'] . "/your_callBack"); // 내 애플리케이션 > 제품 설정 > 카카오 로그인 > 고급 > Logout Redirect URI
        if (session_status() == PHP_SESSION_NONE) {
            session_start();
        }
    }...             
     * API 사용하려고 하는 곳에 선언
    <?php
    require('KakaoAPIService.php');
    $KakaoAPIService = new KakaoAPIService();
    ?>                   

    끝.

    * 아래 유형별 API를 한줄 호출하여 사용

  • 카카오 로그인 - 로그인 링크 가져오기

    • PHP

     * 로그인 페이지의 로그인 버튼 or 이미지에 링크를 설정합니다.
    <a href="<?= $KakaoAPIService->getKakaoLoginLink() ?>">
        <img src="//k.kakaocdn.net/14/dn/btqCn0WEmI3/nijroPfbpCa4at5EIsjyf0/o.jpg" width="222" />
    </a>              
  • 카카오 로그인 - 로그인 콜백 처리

    • PHP

     * 위의 로그인을 실행하면, 설정된 CallBack Page에서 결과를 확인 할 수 있습니다.
    <?= json_encode($KakaoAPIService->getToken()) ?> //토큰 조회
    <?= json_encode($KakaoAPIService->getProfile()) ?> //프로필 조회
    {"error":"invalid_request","error_description":"An authorization code must be supplied.","error_code":"KOE320"}
    {"msg":"target ID is not supplied.","code":-401}

  • 카카오 로그인 - 추가 항목 동의 받기

    • PHP

    추가 항목 동의 받기

     //필수 동의가 아닌 사용중 동의가 필요할때 
    <a href="<?= $KakaoAPIService->getAuthorizeLink("talk_message,plusfriends") ?>">추가 항목 동의 받기</a>              
  • 카카오 로그인 - 로그아웃

    • PHP

     
    <?= $KakaoAPIService->setLogOut() ?> //로그아웃
    <?= $KakaoAPIService->setLogOutForAdmin(1515035367) ?> //Admin로그아웃
    {"id":1515035367}
    {"id":1515035367}

  • 카카오 로그인 - 카카오계정과 함께 로그아웃

    • PHP

    카카오계정과 함께 로그아웃
     * 로그인 페이지의 로그인 버튼 or 이미지에 링크를 설정합니다.
    <a href="<?= $KakaoAPIService->getKakaoWithLogOutLink() ?>">카카오계정과 함께 로그아웃</a>              
  • 카카오 로그인 - 연결 끊기

    • PHP

     
    <?= $KakaoAPIService->setUnLink() ?> //연결 끊기
    <?= $KakaoAPIService->setUnLinkForAdmin(1515035367) ?> //Admin연결 끊기
    {"id":1515035367}
    {"id":1515035367}

  • 카카오 로그인 - 토큰 갱신하기

    • PHP

     
    <?= $KakaoAPIService->setTokenRefresh() ?> //토큰 갱신하기
    9RjyTpQUBKZ6w1wCGXYvfULyH0ljPfc8fU2OqwopyWAAAAF2iU5m4Q

  • 카카오 로그인 - 사용자 정보 저장하기

    • PHP

     
    <?= $KakaoAPIService->setUpdateProfile('test API name') ?> //사용자 정보 저장하기
    {"id":1515035367}

  • 카카오 로컬 - 주소 조회

    • PHP

    //주소 조회
    <?= json_encode(($KakaoAPIService->getAddress("전북 삼성동 100")) ?>

    {"documents":[{"address":{"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \ubd80\uc1a1\ub3d9 100","b_code":"4514013400","h_code":"4514069000","main_address_no":"100","mountain_yn":"N","region_1depth_name":"\uc804\ubd81","region_2depth_name":"\uc775\uc0b0\uc2dc","region_3depth_h_name":"\uc0bc\uc131\ub3d9","region_3depth_name":"\ubd80\uc1a1\ub3d9","sub_address_no":"","x":"126.99597495347","y":"35.9766482774579"},"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \ubd80\uc1a1\ub3d9 100","address_type":"REGION_ADDR","road_address":null,"x":"126.99597495347","y":"35.9766482774579"},{"address":{"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \uc784\uc0c1\ub3d9 100","b_code":"4514013200","h_code":"4514069000","main_address_no":"100","mountain_yn":"N","region_1depth_name":"\uc804\ubd81","region_2depth_name":"\uc775\uc0b0\uc2dc","region_3depth_h_name":"\uc0bc\uc131\ub3d9","region_3depth_name":"\uc784\uc0c1\ub3d9","sub_address_no":"","x":"126.980268573424","y":"35.9816612949055"},"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \uc784\uc0c1\ub3d9 100","address_type":"REGION_ADDR","road_address":null,"x":"126.980268573424","y":"35.9816612949055"},{"address":{"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \uc815\uc871\ub3d9 100","b_code":"4514013100","h_code":"4514069000","main_address_no":"100","mountain_yn":"N","region_1depth_name":"\uc804\ubd81","region_2depth_name":"\uc775\uc0b0\uc2dc","region_3depth_h_name":"\uc0bc\uc131\ub3d9","region_3depth_name":"\uc815\uc871\ub3d9","sub_address_no":"","x":"127.002020445866","y":"35.9829740190924"},"address_name":"\uc804\ubd81 \uc775\uc0b0\uc2dc \uc815\uc871\ub3d9 100","address_type":"REGION_ADDR","road_address":null,"x":"127.002020445866","y":"35.9829740190924"}],"meta":{"is_end":true,"pageable_count":3,"total_count":3}}
  • 카카오 로컬 - 좌표로 행정구역정보 받기

    • PHP

    //좌표로 행정구역정보 받기
    <?= json_encode($KakaoAPIService->getCoord2regioncode(127.1086228, 37.4012191)) ?>

    {"meta":{"total_count":2},"documents":[{"region_type":"B","code":"4113510900","address_name":"\uacbd\uae30\ub3c4 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \uc0bc\ud3c9\ub3d9","region_1depth_name":"\uacbd\uae30\ub3c4","region_2depth_name":"\uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c","region_3depth_name":"\uc0bc\ud3c9\ub3d9","region_4depth_name":"","x":127.1163593869371,"y":37.40612091848614},{"region_type":"H","code":"4113565500","address_name":"\uacbd\uae30\ub3c4 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \uc0bc\ud3c9\ub3d9","region_1depth_name":"\uacbd\uae30\ub3c4","region_2depth_name":"\uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c","region_3depth_name":"\uc0bc\ud3c9\ub3d9","region_4depth_name":"","x":127.1163593869371,"y":37.40612091848614}]}
  • 카카오 로컬 - 좌표로 주소 변환하기

    • PHP

    //좌표로 주소 변환하기
    <?= json_encode($KakaoAPIService->getCoord2address(127.1086228, 37.4012191)) ?>
                            

    {"meta":{"total_count":1},"documents":[{"road_address":{"address_name":"\uacbd\uae30\ub3c4 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \ud310\uad50\uc5ed\ub85c 231","region_1depth_name":"\uacbd\uae30","region_2depth_name":"\uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c","region_3depth_name":"","road_name":"\ud310\uad50\uc5ed\ub85c","underground_yn":"N","main_building_no":"231","sub_building_no":"","building_name":"\uc5d0\uc774\uce58\uc2a4\ud018\uc5b4 \uc5d0\uc2a4\ub3d9","zone_no":"13494"},"address":{"address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \uc0bc\ud3c9\ub3d9 680","region_1depth_name":"\uacbd\uae30","region_2depth_name":"\uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c","region_3depth_name":"\uc0bc\ud3c9\ub3d9","mountain_yn":"N","main_address_no":"680","sub_address_no":"","zip_code":""}}]}
  • 카카오 로컬 - 좌표계 변환

    • PHP

    //좌표계 변환
    <?= json_encode($KakaoAPIService->getTranscoord(127.1086228, 37.4012191)) ?>

    {"meta":{"total_count":1},"documents":[{"x":124.84984663953216,"y":33.475329598529996}]}
  • 카카오 로컬 - 키워드로 장소 검색

    • PHP

    //키워드로 장소 검색
    <?= json_encode($KakaoAPIService->getKeywordAddress("카카오프렌즈", 127.1086228, 37.4012191)) ?>

    {"documents":[{"address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \ubc31\ud604\ub3d9 532","category_group_code":"","category_group_name":"","category_name":"\uac00\uc815,\uc0dd\ud65c > \ubb38\uad6c,\uc0ac\ubb34\uc6a9\ud488 > \ub514\uc790\uc778\ubb38\uad6c > \uce74\uce74\uc624\ud504\ub80c\uc988","distance":"613","id":"143299114","phone":"031-601-7225","place_name":"\uce74\uce74\uc624\ud504\ub80c\uc988 \ud310\uad50\uc544\uc9c0\ud2b8\uc810","place_url":"http:\/\/place.map.kakao.com\/143299114","road_address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \ud310\uad50\uc5ed\ub85c 166","x":"127.1100869772751","y":"37.39581744474611"},{"address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \uc0bc\ud3c9\ub3d9 681","category_group_code":"","category_group_name":"","category_name":"\uc2a4\ud3ec\uce20,\ub808\uc800 > \uace8\ud504 > \uace8\ud504\uc5f0\uc2b5\uc7a5 > \uc2a4\ud06c\ub9b0\uace8\ud504\uc5f0\uc2b5\uc7a5","distance":"93","id":"245183397","phone":"031-778-6806","place_name":"\ud504\ub80c\uc988 \uc2a4\ud06c\ub9b0 \ud310\uad50","place_url":"http:\/\/place.map.kakao.com\/245183397","road_address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \ud310\uad50\uc5ed\ub85c 235","x":"127.10863915834963","y":"37.40206286030239"}],"meta":{"is_end":true,"pageable_count":2,"same_name":{"keyword":"\uce74\uce74\uc624\ud504\ub80c\uc988","region":[],"selected_region":""},"total_count":2}}
  • 카카오 로컬 - 카테고리로 장소 검색

    • PHP

    //카테고리로 장소 검색
    <?= json_encode($KakaoAPIService->getCategoryAddress("PM9", 127.1086228, 37.4012191, 100)) ?>

    {"documents":[{"address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \uc0bc\ud3c9\ub3d9 680","category_group_code":"PM9","category_group_name":"\uc57d\uad6d","category_name":"\uc758\ub8cc,\uac74\uac15 > \uc57d\uad6d","distance":"14","id":"16032418","phone":"031-696-7558","place_name":"\uc5d0\uc774\uce58\uc57d\uad6d","place_url":"http:\/\/place.map.kakao.com\/16032418","road_address_name":"\uacbd\uae30 \uc131\ub0a8\uc2dc \ubd84\ub2f9\uad6c \ud310\uad50\uc5ed\ub85c 231","x":"127.10870813076","y":"37.4013347721683"}],"meta":{"is_end":true,"pageable_count":1,"same_name":null,"total_count":1}}