카카오톡 API 메시지 전송 코드
텍스트 메시지 - TextTemplate
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();
}
});
