라이크위키

반응형

카카오톡 API 메시지 전송 코드

텍스트 메시지 - TextTemplate

카카오톡 API 메시지 전송

LinkObject link = LinkObject.newBuilder()
        .setWebUrl("https://developers.kakao.com")
        .setMobileWebUrl("https://developers.kakao.com")
        .build();
TemplateParams params = TextTemplate.newBuilder("text\nhello, this is test", link)
        .setButtonTitle("This is button")
        .build();
// 기본 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendDefault(context, params, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

피드 메시지 - FeedTemplate

TemplateParams params = FeedTemplate
        .newBuilder(ContentObject.newBuilder(
                "디저트 사진",
                "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
                LinkObject.newBuilder()
                        .setWebUrl("https://blog.naver.com/kimhe5623")
                        .setMobileWebUrl("https://blog.naver.com/kimhe5623")
                        .build())
                .setDescrption("아메리카노, 빵, 케익")
                .build())
        .setSocial(SocialObject.newBuilder()
                .setLikeCount(1)
                .setCommentCount(2)
                .setSharedCount(30)
                .setViewCount(40)
                .build())
        .addButton(new ButtonObject(
                "웹에서 보기",
                LinkObject.newBuilder()
                        .setWebUrl("https://blog.naver.com/kimhe5623")
                        .setMobileWebUrl("https://blog.naver.com/kimhe5623")
                        .build()))
        .addButton(new ButtonObject(
                "앱에서 보기",
                LinkObject.newBuilder()
                        .setAndroidExecutionParams("key1=value1")
                        .setIosExecutionParams("key1=value1")
                        .build()))
        .build();
// 기본 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendDefault(context, params, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

리스트 메시지 - ListTemplate

TemplateParams params = ListTemplate.newBuilder(
        "WEEKELY MAGAZINE",
        LinkObject.newBuilder()
                .setWebUrl("https://rb.gy/qvkfhf")
                .setMobileWebUrl("https://rb.gy/qvkfhf")
                .build())
        .addContent(ContentObject.newBuilder(
                "자전거 라이더를 위한 공간",
                "http://mud-kage.kakao.co.kr/dn/QNvGY/btqfD0SKT9m/k4KUlb1m0dKPHxGV8WbIK1/openlink_640x640s.jpg",
                LinkObject.newBuilder()
                        .setWebUrl("https://rb.gy/qvkfhf")
                        .setMobileWebUrl("https://rb.gy/qvkfhf")
                        .build())
                .setDescrption("매거진")
                .build())
        .addContent(ContentObject.newBuilder(
                "비쥬얼이 끝내주는 오레오 카푸치노",
                "http://mud-kage.kakao.co.kr/dn/boVWEm/btqfFGlOpJB/mKsq9z6U2Xpms3NztZgiD1/openlink_640x640s.jpg",
                LinkObject.newBuilder()
                        .setWebUrl("https://rb.gy/qvkfhf")
                        .setMobileWebUrl("https://rb.gy/qvkfhf")
                        .build())
                .setDescrption("매거진")
                .build())
        .addContent(ContentObject.newBuilder(
                "감성이 가득한 분위기",
                "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
                LinkObject.newBuilder()
                        .setWebUrl("https://rb.gy/qvkfhf")
                        .setMobileWebUrl("https://rb.gy/qvkfhf")
                        .build())
                .setDescrption("매거진")
                .build())
        .addButton(new ButtonObject(
                "웹에서 보기",
                LinkObject.newBuilder()
                        .setMobileWebUrl("https://rb.gy/qvkfhf")
                        .setMobileWebUrl("https://rb.gy/qvkfhf")
                        .build()))
        .addButton(new ButtonObject(
                "앱에서 보기",
                LinkObject.newBuilder()
                        .setAndroidExecutionParams("key1=value1")
                        .setIosExecutionParams("key1=value1")
                        .build()))
        .build();
// 기본 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendDefault(context, params, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

위치 메시지 - LocationTemplate

TemplateParams params = LocationTemplate.newBuilder(
        "성남시 분당구 판교역로 235",
        ContentObject.newBuilder(
                "카카오 판교오피스",
                "http://mud-kage.kakao.co.kr/dn/NTmhS/btqfEUdFAUf/FjKzkZsnoeE4o19klTOVI1/openlink_640x640s.jpg",
                LinkObject.newBuilder()
                        .setWebUrl("https://developers.kakao.com")
                        .setMobileWebUrl("https://developers.kakao.com")
                        .build())
                .setDescrption("카카오 판교오피스 위치입니다.")
                .build())
        .setAddressTitle("카카오 판교오피스 in Kakao Map")
        .build();
// 기본 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendDefault(context, params, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

커머스 메시지 - CommerceTemplate

ContentObject contentObject = ContentObject.newBuilder(
        "Ivory long dress (4 Color)",
        "http://mud-kage.kakao.co.kr/dn/RY8ZN/btqgOGzITp3/uCM1x2xu7GNfr7NS9QvEs0/kakaolink40_original.png",
        LinkObject.newBuilder()
                .setWebUrl("https://rb.gy/qvkfhf")
                .setMobileWebUrl("https://rb.gy/qvkfhf")
                .build())
        .build();
CommerceDetailObject commerceDetailObject = CommerceDetailObject.newBuilder(208800)
        .setDiscountPrice(146160)
        .setDiscountRate(30)
        .build();
ButtonObject firstButtonObject = new ButtonObject(
        "구매하기",
        LinkObject.newBuilder()
                .setWebUrl("https://rb.gy/qvkfhf")
                .setMobileWebUrl("https://rb.gy/qvkfhf")
                .build());
ButtonObject secondButtobObject = new ButtonObject(
        "공유하기",
        LinkObject.newBuilder()
                .setAndroidExecutionParams("share=true")
                .setIosExecutionParams("share=true")
                .build());
TemplateParams params =  CommerceTemplate.newBuilder(contentObject, commerceDetailObject)
        .addButton(firstButtonObject)
        .addButton(secondButtobObject)
        .build();

// 기본 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendDefault(context, params, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

스크랩 메시지

// 공유할 URL
String url = "https://rb.gy/gbij5f";
// 스크랩 템플릿으로 카카오링크 보내기
KakaoLinkService.getInstance()
        .sendScrap(context, url, null, new ResponseCallback<KakaoLinkResponse>() {
            @Override
            public void onFailure(ErrorResult errorResult) {
                Log.e("KAKAO_API", "카카오링크 공유 실패: " + errorResult);
                Toast.makeText(context, "카카오링크 공유 실패: " + errorResult, Toast.LENGTH_SHORT).show();
            }
            @Override
            public void onSuccess(KakaoLinkResponse result) {
                Log.i("KAKAO_API", "카카오링크 공유 성공");
                Toast.makeText(context, "카카오링크 공유 성공", Toast.LENGTH_SHORT).show();
                // 카카오링크 보내기에 성공했지만 아래 경고 메시지가 존재할 경우 일부 컨텐츠가 정상 동작하지 않을 수 있습니다.
                Log.w("KAKAO_API", "warning messages: " + result.getWarningMsg());
                Log.w("KAKAO_API", "argument messages: " + result.getArgumentMsg());
                Toast.makeText(context, "Warning messages: " + result.getWarningMsg() + " / Argument message: " + result.getArgumentMsg(), Toast.LENGTH_SHORT).show();
            }
        });

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band