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_client","error_description":"Not exist client_id [2b45ace7865aede7ac67b386bb4a29c6]","error_code":"KOE101"}
    {"msg":"no authentication key!","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")) ?>

    {"errorType":"AccessDeniedError","message":"appKey(2b45ace7865aede7ac67b386bb4a29c6) is already deactivated"}
  • 카카오 로컬 - 좌표로 행정구역정보 받기

    • PHP

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

    {"errorType":"AccessDeniedError","message":"appKey(2b45ace7865aede7ac67b386bb4a29c6) is already deactivated"}
  • 카카오 로컬 - 좌표로 주소 변환하기

    • PHP

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

    {"errorType":"AccessDeniedError","message":"appKey(2b45ace7865aede7ac67b386bb4a29c6) is already deactivated"}
  • 카카오 로컬 - 좌표계 변환

    • PHP

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

    {"errorType":"ResourceNotFound","message":"'POST \/v2\/local\/geo\/transcoord.json?x=127.1086228&y=37.4012191&input_coord=WTM&output_coord=WGS84' is not matched"}
  • 카카오 로컬 - 키워드로 장소 검색

    • PHP

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

    {"errorType":"AccessDeniedError","message":"appKey(2b45ace7865aede7ac67b386bb4a29c6) is already deactivated"}
  • 카카오 로컬 - 카테고리로 장소 검색

    • PHP

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

    {"errorType":"AccessDeniedError","message":"appKey(2b45ace7865aede7ac67b386bb4a29c6) is already deactivated"}