친구

친구 API는 앱에 가입한 사용자의 카카오톡 친구 중 정보를 제공해주는 API 입니다. 카카오계정 로그인을 사용하는 앱에서 사용할 수 있습니다.

  • 앱에 가입된 친구만 대상이 됩니다.
  • '서비스 내 친구목록' 정보 제공에 동의한 친구만 목록에 포함되고, 친구 리스트 중 친구 정보 제공에 동의하지 않은 경우 목록에서 제외됩니다.

API 활용 범위

  • 카카오톡 친구 정보를 활용하여 애플리케이션의 소셜 서비스를 구축 할 수 있습니다.
  • 해당 애플리케이션에 카카오톡 로그인을 통해서 서비스를 이용하는 친구들 중 카카오 '서비스 내 친구목록' 개인 정보 제공에 동의한 친구만 대상이 됩니다.
  • 사용자들의 친구 관계를 다른 사용자에게 제공해줄 수 없습니다.
  • 친구 정보를 따로 저장할 수 없습니다.
  • 친구들의 관계 정보를 분석/조합해서 제공해줄 수 없습니다.

API 사용 제약

  • 해당 API를 서비스에 적용하려면 반드시 검수를 받아야 합니다. 친구 API 검수 신청하기
  • 검수 전에는 별도의 개인정보 제공 동의없이 내 애플리케이션 > 설정 > 팀관리에 설정된 카카오 계정의 톡 친구들에 한해서 동작하게 됩니다.
  • 검수를 마치면 내 애플리케이션 > 설정 > 사용자 관리 > 동의항목 > 설정에서 카카오 서비스 내 친구목록 개인정보 보호항목을 설정할 수 있게 됩니다.

친구목록 조회

친구 정보가 많을 수 있기 때문에 사용하는 클라이언트에서는 paging 기반으로 요청해야 합니다. 이를 위해 페이징을 위한 KOAppFriendContext 생성 파라미터로 limit 이 제공되고 전달한 limit 개수 만큼의 결과를 가져옵니다. limit의 기본 값과 최대 값은 100입니다.

해당 paging 기반 요청을 기준으로 더 불러올 친구 목록이 있는 경우 컨텍스트의 hasMoreItems 값이 true이며, 이 컨텍스트를 그대로 전달하여 appFriendsWithContext:completionHandler: 메소드를 호출하면 다음 페이지(limit 개수)의 친구 목록을 가져올 수 있습니다.

// limit: 20, ordering: ascending
//KOAppFriendContext *context = [KOAppFriendContext contextWithLimit:20 order:KOOrderingAscending];

// limit: 100 (서버 최대 값), ordering: descending
//KOAppFriendContext *context = [KOAppFriendContext contextWithLimit:200 order:KOOrderingDescending];

// 기본 값
// limit: 100, ordering: ascending
KOAppFriendContext *context = [KOAppFriendContext context];

[KOSessionTask appFriendsWithContext:context
                   completionHandler:^(void (^)(NSError *error, NSArray<KOAppFriend *> *appFriends) {
                       if (error) {
                           // 실패

                       } else {
                           // 성공

                           if (context.hasMoreItems) {
                               // 다음 목록 있음
                               // context를 재사용하여 친구 목록 요청
                           }
                       }
                   }];

Last Modified : 2018-08-23