KOSessionTask Class Reference

Inherits from NSObject
Declared in KOSessionTask.h

Overview

카카오로그인 기반의 API를 호출하는 네트워크 요청 작업

KOSession을 이용하여 카카오로그인을 수행한 후 발급 받은 access token을 인증 헤더에 담아 API를 호출합니다.
세션의 상태에 따라 모든 API 요청은 아래와 같이 동작합니다.

- KOSessionStateNotOpen: KOErrorTokenNotFound 에러를 반환합니다.
- KOSessionStateOpening: 토큰이 발급 중이므로 완료될 때까지 기다린 후에 요청합니다.
- KOSessionStateOpen: 인스턴스 생성 즉시 요청을 실행합니다.

Other Methods

– cancel

해당 API 요청을 취소

- (void)cancel

Declared In

KOSessionTask.h

– cancelWithError:

해당 API 요청을 취소

- (void)cancelWithError:(NSError *)error

Parameters

error

취소할 때 발생시키고자 하는(원인) NSError

Declared In

KOSessionTask.h

+ setRequestTimeoutInterval:

API 요청시의 타임아웃을 설정

+ (void)setRequestTimeoutInterval:(NSTimeInterval)timeoutInterval

Parameters

timeoutInterval

second단위의 타임아웃 값(NSTimeInterval). 기본 30초.

Declared In

KOSessionTask.h

AgeAuthAPI Methods

+ ageAuthTaskWithCompletionHandler:propertyKeys:completionHandler:

해당 유저의 연령인증 정보를 얻는다.

+ (instancetype)ageAuthTaskWithCompletionHandler:(KOAgeAuthLimit)ageLimit propertyKeys:(nullable NSSet<NSNumber*> *)propertyKeys completionHandler:(nullable KOSessionTaskCompletionHandler)completionHandler

Parameters

ageLimit

response의 bypass_age_limit(true/false)를 판단하는 기준 제한 연령. default 는 앱에 설정된 제한 연령기준. 앱에 설정이 없고 param 으로 주어지지 않으면 bypass_age_limit 은 response 에 포함되지 않음

propertyKeys

추가 동의가 필요로 하는 인증정보를 response 에 포함하고 싶은 경우 해당 KOAgeAuthProperty

completionHandler

연령인증 정보를 가져와서 처리하는 핸들러

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+AgeAuthAPI.h

UserManagementAPI Methods

+ userMeTaskWithCompletion:

현재 로그인된 사용자에 대한 정보를 얻을 수 있습니다.

+ (instancetype)userMeTaskWithCompletion:(nullable KOSessionTaskUserMeCompletionHandler)completion

Parameters

completion

사용자 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ userMeTaskWithPropertyKeys:completion:

현재 로그인된 사용자에 대한 정보를 얻을 수 있습니다.

+ (instancetype)userMeTaskWithPropertyKeys:(nullable NSArray<NSString*> *)propertyKeys completion:(nullable KOSessionTaskUserMeCompletionHandler)completion

Parameters

propertyKeys

특정 프로퍼티를 지정하여 받고 싶을 경우 요청할 프로퍼티 키 이름 목록

completion

사용자 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ profileUpdateTaskWithProperties:completionHandler:

현재 로그인된 사용자의 속성(Property)를 설정할 수 있습니다.

+ (instancetype)profileUpdateTaskWithProperties:(nullable NSDictionary<NSString*,NSString*> *)properties completionHandler:(nullable KOCompletionSuccessHandler)completionHandler

Parameters

properties

갱신할 사용자 정보

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ signupTaskWithProperties:completionHandler:

카카오 플랫폼 서비스와 앱을 연결합니다.

+ (instancetype)signupTaskWithProperties:(nullable NSDictionary<NSString*,NSString*> *)properties completionHandler:(nullable KOCompletionSuccessHandler)completionHandler

Parameters

properties

가입시 함께 설정할 사용자 정보

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ unlinkTaskWithCompletionHandler:

카카오 플랫폼 서비스와 앱 연결을 해제합니다.

+ (instancetype)unlinkTaskWithCompletionHandler:(nullable KOCompletionSuccessHandler)completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ serviceTermsTaskWithCompletionHandler:

user가 3rd의 동의항목에 동의한 내역을 반환합니다.

+ (instancetype)serviceTermsTaskWithCompletionHandler:(KOSessionTaskServiceTermsCompletionHandler)completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ shippingAddressTaskWithCompletionHandler:

앱에 가입한 사용자의 배송지 정보를 얻어간다.

+ (instancetype)shippingAddressTaskWithCompletionHandler:(nullable KOSessionTaskUserShippingAddressCompletionHandler)completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ shippingAddressTaskWithAddressId:completionHandler:

앱에 가입한 사용자의 배송지 정보를 얻어간다.

+ (instancetype)shippingAddressTaskWithAddressId:(nullable NSString *)shippingAddressId completionHandler:(nullable KOSessionTaskUserShippingAddressCompletionHandler)completionHandler

Parameters

shippingAddressId

배송지 정보가 많은 경우, 특정 배송지 정보만 얻고 싶을 때 배송지 ID 지정

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

+ shippingAddressTaskWithFromUpdatedAt:pageSize:completionHandler:

앱에 가입한 사용자의 배송지 정보를 얻어간다.

+ (instancetype)shippingAddressTaskWithFromUpdatedAt:(nullable NSDate *)fromUpdatedAt pageSize:(NSInteger)pageSize completionHandler:(nullable KOSessionTaskUserShippingAddressCompletionHandler)completionHandler

Parameters

fromUpdatedAt

배송지 정보가 많은 경우, 여러 페이지에 걸쳐서 응답을 가지고 가게 될 때, 기준이 되는 배송지 updated_at 시각
해당 시각(미포함) 이전에 수정된 배송지부터 조회함. 이전 페이지의 마지막 배송지의 updated_at을 다음 페이지 input으로 준다.

pageSize

2이상. 한 페이지에 포함할 배송지 개수

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+UserManagementAPI.h

StoryAPI Methods

+ storyProfileTaskWithCompletionHandler:

현재 로그인된 사용자의 카카오스토리 프로필 정보를 얻을 수 있습니다.

+ (instancetype)storyProfileTaskWithCompletionHandler:(KOSessionTaskCompletionHandler)completionHandler

Parameters

completionHandler

스토리 프로필 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyProfileTaskWithSecureResource:completionHandler:

현재 로그인된 사용자의 카카오스토리 프로필 정보를 얻을 수 있습니다.

+ (instancetype)storyProfileTaskWithSecureResource:(BOOL)secureResource completionHandler:(KOSessionTaskCompletionHandler)completionHandler

Parameters

secureResource

프로필, 썸네일 이미지 등의 리소스 정보들에 대해 https를 지원하는 형식으로 응답을 받을지의 여부. YES일 경우 https지원, NO일 경우 http지원

completionHandler

스토리 프로필 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyGetMyStoryTaskWithMyStoryId:completionHandler:

카카오스토리의 특정 내스토리 정보를 얻을 수 있습니다. comments, likes등의 상세정보도 포함됩니다.

+ (instancetype)storyGetMyStoryTaskWithMyStoryId:(NSString *)myStoryId completionHandler:(void ( ^ ) ( KOStoryMyStoryInfo *myStory , NSError *error ))completionHandler

Parameters

myStoryId

내스토리 정보(storyGetMyStoryTaskWithMyStoryId:completionHandler:)의 포스트 id (required)

completionHandler

내스토리 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyGetMyStoriesTaskWithLastMyStoryId:completionHandler:

카카오스토리의 복수개의 내스토리 정보들을 얻을 수 있습니다. 단, comments, likes등의 상세정보는 없으며 이는 내스토리 정보 요청(storyGetMyStoryTaskWithMyStoryId:completionHandler:)을 통해 얻을 수 있습니다.

+ (instancetype)storyGetMyStoriesTaskWithLastMyStoryId:(NSString *)lastMyStoryId completionHandler:(void ( ^ ) ( NSArray *myStories , NSError *error ))completionHandler

Parameters

lastMyStoryId

복수개의 내스토리 정보들을 얻기 위한 가장 최근의 내스토리 정보(storyGetMyStoryTaskWithMyStoryId:completionHandler:)의 포스트 id. 주어진 id의 시간을 기준으로 해당 id를 제외한 약 18개정도의 하위 myStory들이 반환된다. (optional)

completionHandler

내스토리 정보들을 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyGetLinkInfoTaskWithUrl:completionHandler:

카카오스토리에 스크랩을 하기 위한 링크 정보를 얻을 수 있습니다.

+ (instancetype)storyGetLinkInfoTaskWithUrl:(NSString *)url completionHandler:(void ( ^ ) ( KOStoryLinkInfo *link , NSError *error ))completionHandler

Parameters

url

스크랩을 하여 링크 정보를 얻기 위한 url. required.

completionHandler

스토리 링크 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostNoteTaskWithContent:permission:sharable:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 글(노트)을 포스팅합니다.

+ (instancetype)storyPostNoteTaskWithContent:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

content

내용 (required)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostNoteTaskWithContent:permission:sharable:androidMarketParam:iosMarketParam:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 글(노트)을 포스팅합니다.

+ (instancetype)storyPostNoteTaskWithContent:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidMarketParam:(NSDictionary *)androidMarketParam iosMarketParam:(NSDictionary *)iosMarketParam androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

content

내용 (required)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidMarketParam

안드로이드 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

iosMarketParam

iOS 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostPhotoTaskWithImageUrls:content:permission:sharable:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 사진(들)을 포스팅합니다.

+ (instancetype)storyPostPhotoTaskWithImageUrls:(NSArray<NSString*> *)imageUrls content:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

imageUrls

이미지 url들을 포함한 array (required)
storyMultiImageUploadTaskWithImages:completionHandler: 호출 후 반환되는 url들을 설정해야 합니다.

content

사진과 함께 할 내용 (optional)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostPhotoTaskWithImageUrls:content:permission:sharable:androidMarketParam:iosMarketParam:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 사진(들)을 포스팅합니다.

+ (instancetype)storyPostPhotoTaskWithImageUrls:(NSArray<NSString*> *)imageUrls content:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidMarketParam:(NSDictionary *)androidMarketParam iosMarketParam:(NSDictionary *)iosMarketParam androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

imageUrls

이미지 url들을 포함한 array (required)
storyMultiImageUploadTaskWithImages:completionHandler: 호출 후 반환되는 url들을 설정해야 합니다.

content

사진과 함께 할 내용 (optional)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidMarketParam

안드로이드 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

iosMarketParam

iOS 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostLinkTaskWithLinkInfo:content:permission:sharable:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 링크(스크랩 정보)를 포스팅합니다.

+ (instancetype)storyPostLinkTaskWithLinkInfo:(KOStoryLinkInfo *)linkInfo content:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

linkInfo

스크랩(storyGetLinkInfoTaskWithUrl)을 통해 얻은 링크 객체 (requried)

content

스크랩을 통해 얻은 링크를 포스팅할 때 함께 할 내용 (optional)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyPostLinkTaskWithLinkInfo:content:permission:sharable:androidMarketParam:iosMarketParam:androidExecParam:iosExecParam:completionHandler:

카카오스토리에 링크(스크랩 정보)를 포스팅합니다.

+ (instancetype)storyPostLinkTaskWithLinkInfo:(KOStoryLinkInfo *)linkInfo content:(NSString *)content permission:(KOStoryPostPermission)permission sharable:(BOOL)sharable androidMarketParam:(NSDictionary *)androidMarketParam iosMarketParam:(NSDictionary *)iosMarketParam androidExecParam:(NSDictionary *)androidExecParam iosExecParam:(NSDictionary *)iosExecParam completionHandler:(void ( ^ ) ( KOStoryPostInfo *post , NSError *error ))completionHandler

Parameters

linkInfo

스크랩(storyGetLinkInfoTaskWithUrl)을 통해 얻은 링크 객체 (requried)

content

스크랩을 통해 얻은 링크를 포스팅할 때 함께 할 내용 (optional)

permission

공개 범위 KOStoryPostPermission (default public. optional)

sharable

permission이 친구 공개에 한해서 공유를 허용할지 안할지의 여부 (default NO. optional)

androidMarketParam

안드로이드 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

iosMarketParam

iOS 앱연결 시 마켓으로 이동할 링크에 추가할 파라미터 설정 (optional)

androidExecParam

안드로이드 앱연결 링크에 추가할 파라미터 설정 (optional)

iosExecParam

iOS 앱연결 링크에 추가할 파라미터 설정 (optional)

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyMultiImagesUploadTaskWithImages:completionHandler:

로컬 이미지 파일 여러장을 카카오스토리에 업로드합니다.

+ (instancetype)storyMultiImagesUploadTaskWithImages:(NSArray<id> *)images completionHandler:(void ( ^ ) ( NSArray<NSString*> *imageUrls , NSError *error ))completionHandler

Parameters

images

jpeg을 위한 (UIImage ) 또는 gif를 위한 (NSData ) 형식의 여러장의 이미지 array. 최대 5개까지 허용

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyIsStoryUserTaskWithCompletionHandler:

해당 사용자가 카카오스토리 사용자인지 아닌지를 판별합니다.

+ (instancetype)storyIsStoryUserTaskWithCompletionHandler:(void ( ^ ) ( BOOL isStoryUser , NSError *error ))completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+StoryAPI.h

+ storyDeleteMyStoryTaskWithMyStoryId:completionHandler:

카카오스토리의 특정 내스토리 정보를 지울 수 있습니다.

+ (instancetype)storyDeleteMyStoryTaskWithMyStoryId:(NSString *)myStoryId completionHandler:(void ( ^ ) ( NSError *error ))completionHandler

Parameters

myStoryId

내스토리 정보(storyGetMyStoryTaskWithMyStoryId:completionHandler:)의 포스트 id (required)

completionHandler

내스토리 정보에 대한 삭제의 결과를 얻어 처리하는 핸들러

Declared In

KOSessionTask+StoryAPI.h

PushAPI Methods

+ pushRegisterDeviceWithToken:completionHandler:

현재 로그인된 사용자의 Push 토큰을 등록합니다. /v1/user/me 에 해당하는 유저의 ID로 자동 등록하게 됩니다. 해당 API는 AdminKey가 아닌 AccessToken 기반으로 요청합니다.

+ (instancetype)pushRegisterDeviceWithToken:(NSData *)deviceToken completionHandler:(void ( ^ ) ( BOOL success , NSInteger expiredAt , NSError *error ))completionHandler

Parameters

deviceToken

APNS에 등록된 Device Token. 이 값이 Device ID로도 활용됨

completionHandler

요청 완료시 실행될 핸들러. expiredAt은 등록한 푸시 토큰의 만료까지 남은 기간을 뜻합니다. 보통 30이 리턴되며 30일 남았음을 뜻합니다.

Declared In

KOSessionTask+PushAPI.h

+ pushDeregisterDeviceWithToken:completionHandler:

현재 로그인된 사용자의 Push 토큰을 삭제합니다. 로그아웃할 때, 해당 기기에서 Push 알림 끄기 등의 상황에서 사용 가능합니다. 해당 API는 AdminKey가 아닌 AccessToken 기반으로 요청합니다.

+ (instancetype)pushDeregisterDeviceWithToken:(NSData *)deviceToken completionHandler:(void ( ^ ) ( BOOL success , NSError *error ))completionHandler

Parameters

deviceToken

APNS에 등록된 Device Token. 이 값이 Device ID로도 활용됨

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+PushAPI.h

+ pushDeregisterAllDeviceWithCompletionHandler:

현재 로그인된 사용자의 모든 Push 토큰을 삭제합니다. 서비스 탈퇴 시 같이 사용 가능합니다. 해당 API는 AdminKey가 아닌 AccessToken을 기반으로 요청합니다.

+ (instancetype)pushDeregisterAllDeviceWithCompletionHandler:(void ( ^ ) ( BOOL success , NSError *error ))completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+PushAPI.h

+ pushSendMsg:completionHandler:

Push를 전송합니다(테스트용). 해당 API는 테스트 목적으로 만들어졌으며, 해당 기기로 Push를 전송합니다. 실제 다른 사용자들에게 Push를 전송하기 위해서는 AdminKey 방식의 Push 전송 REST API를 사용해야 합니다.

+ (instancetype)pushSendMsg:(KakaoPushMessageObject *)pushMsg completionHandler:(void ( ^ ) ( BOOL success , NSError *error ))completionHandler

Parameters

pushMsg

Push 전송에 필요한 각종 메타 데이터

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+PushAPI.h

+ pushGetTokensTaskWithCompletionHandler:

현재 로그인된 사용자의 모든 Push 토큰들에 대한 정보를 얻을 수 있습니다. 해당 API는 AdminKey가 아닌 AccessToken을 기반으로 요청합니다.

+ (instancetype)pushGetTokensTaskWithCompletionHandler:(void ( ^ ) ( NSArray *tokens , NSError *error ))completionHandler

Parameters

completionHandler

Push 토큰의 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+PushAPI.h

AppFriendAPI Methods

+ appFriendsWithContext:completionHandler:

카카오톡 친구 목록을 얻어온다.

+ (instancetype)appFriendsWithContext:(KOAppFriendContext *)context completionHandler:(KOAppFriendsTaskCompletionHandler)completionHandler

Parameters

context

친구 목록 페이징 Context

completionHandler

카카오 앱 친구 목록 정보를 얻어 처리하는 핸들러

Discussion

내 앱에 연결되어 [카카오 서비스 내 친구목록] 제공에 동의한 친구만 조회 가능합니다.

Declared In

KOSessionTask+AppFriendAPI.h

+ sendMessageToFriendsWithTemplate:receiverUuids:completionHandler:

기본 제공되는 템플릿을 이용하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다.

+ (instancetype)sendMessageToFriendsWithTemplate:(KMTTemplate *)templateObj receiverUuids:(NSArray<NSString*> *)receiverUuids completionHandler:(nullable KOSessionTaskSendMessageCompletionHandler)completionHandler

Parameters

templateObj

전송할 메시지 템플릿 오브젝트. KMTTemplate 클래스를 직접 생성해서 사용할 수 없고 원하는 템플릿에 맞는 적절한 하위 클래스로 오브젝트를 생성해야 함

receiverUuids

메시지 전송 대상의 uuid 배열 [KOAppFriend uuid]

completionHandler

메시지 전송 완료 핸들러

Discussion

KMTTemplate 클래스는 KakaoMessageTemplate.framework에 포함되어 있습니다. 이 메소드를 사용하기 위해서는 Build Phases > Link Binary With Libraries 설정에 KakaoMessageTemplate.framework를 추가해야 합니다.

Declared In

KOSessionTask+AppFriendAPI.h

+ sendMessageToFriendsTaskWithURL:receiverUuids:completionHandler:

지정된 URL을 스크랩하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다.

+ (instancetype)sendMessageToFriendsTaskWithURL:(NSURL *)URL receiverUuids:(NSArray<NSString*> *)receiverUuids completionHandler:(nullable KOSessionTaskSendMessageCompletionHandler)completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

receiverUuids

메시지 전송 대상의 uuid 배열 [KOAppFriend uuid]

completionHandler

메시지 전송 완료 핸들러

Declared In

KOSessionTask+AppFriendAPI.h

+ sendMessageToFriendsTaskWithURL:templateId:templateArgs:receiverUuids:completionHandler:

지정된 URL을 스크랩하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다.

+ (instancetype)sendMessageToFriendsTaskWithURL:(NSURL *)URL templateId:(nullable NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs receiverUuids:(NSArray<NSString*> *)receiverUuids completionHandler:(nullable KOSessionTaskSendMessageCompletionHandler)completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

receiverUuids

메시지 전송 대상의 uuid 배열 [KOAppFriend uuid]

completionHandler

메시지 전송 완료 핸들러

Declared In

KOSessionTask+AppFriendAPI.h

+ sendMessageToFriendsTaskWithTemplateId:templateArgs:receiverUuids:completionHandler:

미리 지정된 메시지 템플릿(v2)을 사용하여, 조회한 친구를 대상으로 카카오톡으로 메시지를 전송합니다.

+ (instancetype)sendMessageToFriendsTaskWithTemplateId:(NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs receiverUuids:(NSArray<NSString*> *)receiverUuids completionHandler:(nullable KOSessionTaskSendMessageCompletionHandler)completionHandler

Parameters

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

receiverUuids

메시지 전송 대상의 uuid 배열 [KOAppFriend uuid]

completionHandler

메시지 전송 완료 핸들러

Declared In

KOSessionTask+AppFriendAPI.h

TalkAPI Methods

+ talkMessageSendTaskWithTemplate:receiverType:receiverId:completionHandler:

기본 제공되는 템플릿을 이용하여, 카카오톡으로 메시지를 전송합니다.

+ (nullable instancetype)talkMessageSendTaskWithTemplate:(KMTTemplate *)templateObj receiverType:(KOTalkMessageReceiverIDType)receiverType receiverId:(id)receiverId completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

templateObj

전송할 메시지 템플릿 오브젝트. KMTTemplate 클래스를 직접 생성해서 사용할 수 없고 원하는 템플릿에 맞는 적절한 하위 클래스로 오브젝트를 생성해야 함

receiverType

메시지 수신 대상 ID의 타입

receiverId

메시지를 수신할 대상(채팅방 또는 사용자)의 ID

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Discussion

KMTTemplate 클래스는 KakaoMessageTemplate.framework에 포함되어 있습니다. 이 메소드를 사용하기 위해서는 Build Phases > Link Binary With Libraries 설정에 KakaoMessageTemplate.framework를 추가해야 합니다.

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMessageSendTaskWithURL:receiverType:receiverId:completionHandler:

지정된 URL을 스크랩하여, 카카오톡으로 메시지를 전송합니다.

+ (nullable instancetype)talkMessageSendTaskWithURL:(NSURL *)URL receiverType:(KOTalkMessageReceiverIDType)receiverType receiverId:(id)receiverId completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

receiverType

메시지 수신 대상 ID의 타입

receiverId

메시지를 수신할 대상(채팅방 또는 사용자)의 ID

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMessageSendTaskWithURL:templateId:templateArgs:receiverType:receiverId:completionHandler:

지정된 URL을 스크랩하여, 카카오톡으로 메시지를 전송합니다.

+ (nullable instancetype)talkMessageSendTaskWithURL:(NSURL *)URL templateId:(nullable NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs receiverType:(KOTalkMessageReceiverIDType)receiverType receiverId:(id)receiverId completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

receiverType

메시지 수신 대상 ID의 타입

receiverId

메시지를 수신할 대상(채팅방 또는 사용자)의 ID

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMessageSendTaskWithTemplateId:templateArgs:receiverType:receiverId:completionHandler:

미리 지정된 메시지 템플릿(v2)을 사용하여, 카카오톡으로 메시지를 전송합니다. 제휴를 통해 권한이 부여된 특정 앱에서만 호출 가능합니다.

+ (nullable instancetype)talkMessageSendTaskWithTemplateId:(NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs receiverType:(KOTalkMessageReceiverIDType)receiverType receiverId:(id)receiverId completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

receiverType

메시지 수신 대상 ID의 타입

receiverId

메시지를 수신할 대상(채팅방 또는 사용자)의 ID

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMemoSendTaskWithTemplate:completionHandler:

기본 제공되는 템플릿을 이용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.

+ (nullable instancetype)talkMemoSendTaskWithTemplate:(KMTTemplate *)templateObj completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

templateObj

전송할 메시지 템플릿 오브젝트. KMTTemplate 클래스를 직접 생성해서 사용할 수 없고 원하는 템플릿에 맞는 적절한 하위 클래스로 오브젝트를 생성해야 함

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Discussion

KMTTemplate 클래스는 KakaoMessageTemplate.framework에 포함되어 있습니다. 이 메소드를 사용하기 위해서는 Build Phases > Link Binary With Libraries 설정에 KakaoMessageTemplate.framework를 추가해야 합니다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMemoSendTaskWithURL:completionHandler:

지정된 URL을 스크랩하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.

+ (nullable instancetype)talkMemoSendTaskWithURL:(NSURL *)URL completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMemoSendTaskWithURL:templateId:templateArgs:completionHandler:

지정된 URL을 스크랩하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.

+ (nullable instancetype)talkMemoSendTaskWithURL:(NSURL *)URL templateId:(nullable NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

URL

스크랩할 URL. 개발자사이트 앱 설정에 등록된 도메인만 허용됨

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Declared In

KOSessionTask+TalkAPI.h

+ talkMemoSendTaskWithTemplateId:templateArgs:completionHandler:

미리 지정된 메시지 템플릿(v2)을 사용하여, 카카오톡의 “나와의 채팅방"으로 메시지를 전송합니다.

+ (nullable instancetype)talkMemoSendTaskWithTemplateId:(NSString *)templateId templateArgs:(nullable NSDictionary<NSString*,NSString*> *)templateArgs completionHandler:(nullable void ( ^ ) ( NSError *_Nullable error ))completionHandler

Parameters

templateId

전송할 메시지 템플릿 ID

templateArgs

메시지 템플릿을 완성하기 위해 필요한 추가 파라미터 정보

completionHandler

요청 완료시 실행될 block. 오류 처리와 전송 완료 시 수행된다.

Declared In

KOSessionTask+TalkAPI.h

+ talkProfileTaskWithCompletionHandler:

현재 로그인된 사용자의 카카오톡 프로필 정보를 얻을 수 있습니다.

+ (instancetype)talkProfileTaskWithCompletionHandler:(nullable KOSessionTaskCompletionHandler)completionHandler

Parameters

completionHandler

카카오톡 프로필 정보를 얻어 처리하는 핸들러

Declared In

KOSessionTask+TalkAPI.h

+ talkChatListTaskWithContext:completionHandler:

카카오톡 채팅방 목록을 가져옵니다. 제휴를 통해 권한이 부여된 특정 앱에서만 호출 가능합니다.

+ (nullable instancetype)talkChatListTaskWithContext:(KOChatContext *)context completionHandler:(nullable void ( ^ ) ( NSArray<KOChat*> *_Nullable chats , NSError *_Nullable error ))completionHandler

Parameters

context

채팅방 목록을 불러올 때, 페이징 정보를 처리하기 위한 context

completionHandler

카카오톡 채팅방 목록을 가져와서 처리하는 핸들러

Declared In

KOSessionTask+TalkAPI.h

+ talkMembersTaskWithChatID:friendsOnly:completionHandler:

사용자의 채팅방에 속한 멤버 리스트 정보를 반환합니다.

+ (instancetype)talkMembersTaskWithChatID:(id)chatID friendsOnly:(BOOL)friendsOnly completionHandler:(nullable KOSessionTaskTalkMembersCompletionHandler)completionHandler

Parameters

chatID

talkChatListTaskWithContext:completionHandler: 메소드로 받아온 채팅방의 아이디

friendsOnly

채팅 멤버 중 친구인 멤버만 가져오고 싶을 경우 YES로 설정

completionHandler

채팅 멤버 목록 완료 핸들러. 친구만 가져올 경우 activeMember와 activeFriends

Declared In

KOSessionTask+TalkAPI.h

+ talkPlusFriendsTaskWithCompletionHandler:

사용자가 특정 카카오톡 채널을 추가했는지 확인합니다.

+ (instancetype)talkPlusFriendsTaskWithCompletionHandler:(nullable KOSessionTaskTalkPlusFriendsCompletionHandler)completionHandler

Parameters

completionHandler

해당 사용자의 채널 추가상태 조회 완료 핸들러. KOTalkPlusFriends 객체를 리턴한다.

Declared In

KOSessionTask+TalkAPI.h

+ talkPlusFriendsTaskWithPublicIds:completionHandler:

사용자가 특정 카카오톡 채널을 추가했는지 확인합니다.

+ (instancetype)talkPlusFriendsTaskWithPublicIds:(nullable NSArray<NSString*> *)publicIds completionHandler:(nullable KOSessionTaskTalkPlusFriendsCompletionHandler)completionHandler

Parameters

publicIds

조회하려는 채널의 public Id 목록

completionHandler

해당 사용자의 채널 추가상태 조회 완료 핸들러. KOTalkPlusFriends 객체를 리턴한다.

Declared In

KOSessionTask+TalkAPI.h

TokenAPI Methods

+ accessTokenInfoTaskWithCompletionHandler:

현재 로그인된 사용자의 AccessTokenInfo 정보를 얻을 수 있습니다.

+ (instancetype)accessTokenInfoTaskWithCompletionHandler:(KOSessionAccessTokenInfoTaskCompletionHandler)completionHandler

Parameters

completionHandler

요청 완료시 실행될 핸들러

Declared In

KOSessionTask+TokenAPI.h

FriendAPI Methods

+ friendsWithContext:completionHandler:

현재 로그인된 사용자의 카카오 친구 목록을 얻어온다.

+ (instancetype)friendsWithContext:(KOFriendContext *)context completionHandler:(KOSessionFriendsTaskCompletionHandler)completionHandler

Parameters

context

친구 목록 페이징 Context

completionHandler

카카오 친구 목록 정보를 얻어 처리하는 핸들러

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+FriendAPI.h

+ friendsWithOperation:completionHandler:

카카오 친구 목록들의 연산된 결과를 얻어온다.

+ (instancetype)friendsWithOperation:(KOFriendOperation *)operation completionHandler:(KOSessionFriendsTaskCompletionHandler)completionHandler

Parameters

operation

친구 목록 페이징 Operation

completionHandler

카카오 친구 목록 정보를 얻어 처리하는 핸들러

Discussion

*제휴를 통해 권한이 부여된 특정 앱에서만 사용 가능합니다.

Declared In

KOSessionTask+FriendAPI.h