[프로젝트] 날씨별 옷차림 추천 Chap.3 카카오API 사용

Boknami·2022년 10월 23일

프로젝트_ohOOTD

목록 보기
3/7
post-thumbnail

카카오톡 API & Flutter

⚙기능

  1. 카카오톡 로그인
  2. 카카오톡 공유하기

🚩진행

https://developers.kakao.com/docs/latest/ko/getting-started/sdk-flutter
카카오톡 디벨로퍼 공식 사이트에 있는 문서를 참고하여 진행

  1. pubspec.yaml 의존성 추가
  2. pub get을 통해 설치
  3. android > app > src > AndroidManifest.xml에 카카오 로그인 Redirect URI 설정
    [🚨Error] => AndroidManifest.xml 파일이 두 개인지 모르고 다른 AndroidManifest.xml파일에 추가를 해서 1시간 정도 헤맴
  4. 플랫폼 등록, 로그인 기능 활성화, 정보수집 체크 등 설정
  5. API 정상 확인 TEST
  6. API 활용
    [🚨Error] => 로그인 성공 시 사용자 정보를 가지고 다음 페이지로 넘어가는 부분에서 문제 발생

API 사용

대부분 공식 사이트에 있는 API를 참고하였다.
오류 처리를 깔끔하게 하기 위해서 API를 사용함에 있어서 try_catch문을 사용하였다.

Ex)
try(토큰 정보 가져오기)
cathc(토큰 정보 못가져왔다면){
try(카카오톡 로그인)
}

try {
			//<-----------토큰 정보 가져오기------------->
            AccessTokenInfo tokenInfo = await UserApi.instance.accessTokenInfo();
            User user = await UserApi.instance.me();
            print('토큰 정보 보기 성공'
                '\n회원정보: ${tokenInfo.id}'
                '\n토큰 만료시간: ${tokenInfo.expiresIn} 초');
            Navigator.push
              (context,
              MaterialPageRoute(builder: (context) => secondpage(user)),);
          } catch (error) {
            print('토큰 정보 보기 실패 $error');
            if (await isKakaoTalkInstalled()) {
              try {
                //설치 되어있다면 => 카카오톡 로그인 접속 시도
                await UserApi.instance.loginWithKakaoTalk();
                User user = await UserApi.instance.me();
                print('카카오톡으로 로그인 성공');
                Navigator.push
                  (context,
                  MaterialPageRoute(builder: (context) => secondpage(user)),);
              } catch (error) {
                print('카카오톡으로 로그인 실패 $error');
              }
            }
          }
        }

0개의 댓글