KOSessionTask Class Reference
Inherits from | NSObject |
---|---|
Declared in | KOSessionTask.h |
Overview
카카오로그인 기반의 API를 호출하는 네트워크 요청 작업
KOSession을 이용하여 카카오로그인을 수행한 후 발급 받은 access token을 인증 헤더에 담아 API를 호출합니다.
세션의 상태에 따라 모든 API 요청은 아래와 같이 동작합니다.
- KOSessionStateNotOpen: KOErrorTokenNotFound 에러를 반환합니다.
- KOSessionStateOpening: 토큰이 발급 중이므로 완료될 때까지 기다린 후에 요청합니다.
- KOSessionStateOpen: 인스턴스 생성 즉시 요청을 실행합니다.
Other Methods
– 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 시각
|
---|---|
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)
|
---|---|
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)
|
---|---|
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