개발자
서버 api 호출하는 코드인데요. ios에서는 토큰 가져와서, 호출 잘 되는데, 안드로이드에서는 토큰은 잘 가져오는데.... 호출을 하면 권한이 없다고 나옵니다. (401에러 unauthorized) 물론 헤더 넘기지 않는 로그인 같은것은 성공적으로 수행됩니다. 유저 정보를 가져오는 이 부분만 android에서 에러가 발생하네요 ㅜㅜ 혹시 이런 이슈 해결하신분 있을까요? api서버는 django입니다. useEffect(() => { const getTokenAndRefresh = async () => { try { const token = await EncryptedStorage.getItem('accessToken'); if (!token) { return; } console.log('스토리지에 token있음:', token); const API_URL = Platform.OS === 'ios' ? IOS_API_URL : ANDROID_API_URL; const response = await axios.get(`${API_URL}/me`, { headers: { Authorization: `Token ${token}`, }, }); console.log(response.data); dispatch( userSlice.actions.setUser({ userInfo: response.data, accessToken: token, }), ); } catch (error) { console.error(error); console.error('me호출 에러'); } } }; getTokenAndRefresh(); }, [dispatch, isAccessToken]);
답변 3
IOS_API_URL과 ANDROID_API_URL의 header 명세가 다른건 아닐까요? (질문) 근데 왜 API가 다른건가요? 같은 기능인데 플랫폼마다 API를 다르게 만든신이유가 순수하게 궁금합니다.
익명
작성자
2023년 03월 07일
아!! 조금더 상세하게 설명했어야 했는데, 죄송합니다! 현재 개발중인 상황이구요, 개발과정에서 안드로이드가 localhost호출이 안되어서 저렇게 구분해놓은 것입니다. .env에 이렇게 기록해 두었구요. IOS_API_URL=http://localhost:8000 ANDROID_API_URL=http://10.0.2.2:8000
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!