친구목록 가져오기 질문입니다

친구목록 가져오기 sdk를 테스트 하고싶은데요
아직 테스트 이기 때문에 권한 동의를 이용중 동의로 해놓고 제 친구목록을 받아오려 하는데요
friends는 이용중 동의받는 부분이 user.kakaoAccount?. 부분에 구현이 안되어있는거 같은데 어떻게 동의를 받나요?

안녕하세요

구현이 안되어있다는게 어떤 말씀이신지 이해를 못했네요ㅠㅠ

조금 더 자세한 설명 부탁드리겠습니다.

UserApiClient.instance.me { user, error ->
    if (error != null) {
        Log.e(TAG, "사용자 정보 요청 실패", error)
    }
    else if (user != null) {
        var scopes = mutableListOf<String>()

        if (user.kakaoAccount?.emailNeedsAgreement == true) { scopes.add("account_email") }
        if (user.kakaoAccount?.birthdayNeedsAgreement == true) { scopes.add("birthday") }
        if (user.kakaoAccount?.birthyearNeedsAgreement == true) { scopes.add("birthyear") }
        if (user.kakaoAccount?.genderNeedsAgreement == true) { scopes.add("gender") }
        if (user.kakaoAccount?.phoneNumberNeedsAgreement == true) { scopes.add("phone_number") }
        if (user.kakaoAccount?.profileNeedsAgreement == true) { scopes.add("profile") }
        if (user.kakaoAccount?.ageRangeNeedsAgreement == true) { scopes.add("age_range") }
        if (user.kakaoAccount?.ciNeedsAgreement == true) { scopes.add("account_ci") }

        if (scopes.count() > 0) {
            Log.d(TAG, "사용자에게 추가 동의를 받아야 합니다.")

            UserApiClient.instance.loginWithNewScopes(context, scopes) { token, error ->
                if (error != null) {
                    Log.e(TAG, "사용자 추가 동의 실패", error)
                } else {
                    Log.d(TAG, "allowed scopes: ${token!!.scopes}")

                    // 사용자 정보 재요청
                    UserApiClient.instance.me { user, error ->
                        if (error != null) {
                            Log.e(TAG, "사용자 정보 요청 실패", error)
                        }
                        else if (user != null) {
                            Log.i(TAG, "사용자 정보 요청 성공")
                        }
                    }
                }
            }
        }
    }
}

이 예제를 보고있는데 여기서 user.kakaoAccount?. 하고 friends에 관한 권한이 없네요… 이부분은 따로 권한을 받아오는 코드로 받아와서 처리해야 하나요?

그리고 팀원의 친구목록말고 제 친구목록을 받아오는 건 안되나요?

첨부해주신 코드에서 사용하는 UserApiClient.instance.me()사용자 정보 가져오기 관련 메소드라서 해당 응답 클래스에는 friends 라는 property가 없습니다.

친구를 가져오는 예제는 친구 목록 가져오기 참고 부탁드리겠습니다.

친구 목록을 가져오기 위해서는 동의 항목 설정을 참고하여 ‘카카오 서비스 내 친구목록’ 동의 항목을 설정해야 합니다.
추가로 이 API는 사용 권한이 필요합니다.

앱에 사용 권한이 부여되기 전에는 팀 멤버를 대상으로만 동작하기 때문에 카카오톡 친구목록을 가져오고 싶으신 경우에는 카카오톡 사용 권한 신청을 참고해 사용 권한을 신청부탁드립니다.

현재 카카오 서비스 내 친구목록 을 이용중 동의로 설정하고

UserApiClient.instance.me { user, error ->

        if (error != null) {
            Log.d("mainActivity", "사용자 정보 요청 실패" + error)

        } else if (user != null) {
            var scopes = mutableListOf<String>()

            // friendsAgree 는 카카오 서비스 내 친구목록 사용동의 여부를 가지고 있는 변수
            if (friendsAgree != true) {
                scopes.add("friends")
            }

            Log.d("mainActivity", "요청 개수" + scopes.count())
            if (scopes.count() > 0) {
                Log.d("mainActivity", "사용자에게 추가 동의를 받아야 합니다.")

                UserApiClient.instance.loginWithNewScopes(context, scopes) { token, error ->
                    if (error != null) {
                        Log.d("mainActivity", "사용자 추가 동의 실패" + error)
                    } else {
                        Log.d("mainActivity", "allowed scopes: ${token!!.scopes}")

                        // 사용자 정보 재요청
                        UserApiClient.instance.me { user, error ->
                            if (error != null) {
                                Log.d("mainActivity", "사용자 정보 요청 실패" + error)
                            } else if (user != null) {
                                Log.d("mainActivity", "사용자 정보 요청 성공")
                            }
                        }
                    }
                }
            }
        }
    }

코드를 이용해서 friends 동의를 받은 상태인데요

D/mainActivity: 카카오톡 친구 목록 가져오기 실패ApiError(statusCode=403, reason=PermissionDenied, response=ApiErrorResponse(code=-5, msg=there are no assigned team members in your app., apiType=null, requiredScopes=null, allowedScopes=null))

이 오류가 나타납니다. 팀목록에 등록된 맴버면 저도 포함되는거 같은데 왜 오류가 발생할까요…?

app id와 사용 중인 개발자 계정이 어떻게 되시나요?

앱ID: 594040
제 계정은 dkdlfhqhtxm@hanmail.net 입니다.

혹시 팀맴버가 저만 있으면 안되는건가요??

해당 API는 본인을 제외한 친구 목록을 가져오는 API라서 다른 계정 등록 후 재시도 부탁드려요.

현재 앱ID 594040에 dkdlfhqhtxm@hanmail.net 는 등록되어있습니다.

본인을 제외한 친구목록 이라는게
지금 제 계정으로 로그인 했는데 제 카카오톡 친구목록을 불러오는게 안된다는 말씀이신가요…? 그러면 제 카카오톡 친구목록은 어떻게 불러오나요?

카카오톡 친구 목록을 가져오기 위해서는 별도의 사용 권한 신청이 필요합니다.

테스트 용도로 본인을 제외한 등록된 다른 팀원의 목록을 제공하고 있습니다.

이전 댓글에 첨부한 링크 확인 부탁드리겠습니다.

넵 친절한 답변 감사합니다! 좋은 하루 되세요ㅎㅎ

좋아요 1

죄송한데 질문하나 더 해도될까요? 팀원 등록해서 친구목록을 가져왔는데 팀원은 친구목록에 제가 뜨는데 저는 친구목록에 팀원이 뜨지않네요… 원래 owner는 친구 목록에 아무도 안뜨나요 아니면 제가 뭘 잘못한걸까요…?

친구목록을 조회할 수 있는 조건은 다음과 같습니다.
아래의 항목들 확인 부탁드리겠습니다.

  1. 제작/운영 중인 앱(사이트) 에 카카오 로그인한 사용자가 자신의 카카오톡 친구를 조회합니다.
  2. 로그인한 사용자의 카카오톡 친구도 앱(사이트)에 로그인 해야하고, 친구 목록 조회와 메시지 권한에 동의 해야 합니다.

✭ 동의하지 않으면 카카오톡 친구이더라도 친구 목록에 조회되지 않습니다.

  • 팀멤버 추가하여 친구목록 조회 테스트 하기 체크 리스트
    ✓ 친구 목록 조회 API 로 조회할 팀멤버 등록
    ✓ 내 계정으로 카카오 로그인하고 추가항목 동의 받기
    ✓ 팀 멤버 계정으로 카카오 로그인하고 추가항목 동의 받기 (토큰 까지 받을 것)

좀 더 자세한 내용은 체크리스트 에 상세하게 나와있습니다.

감사합니다.