인프런 커뮤니티 질문&답변

유슬기님의 프로필 이미지

작성한 질문수

초보자를 위한 ChatGPT API 활용법 - API 기본 문법부터 12가지 프로그램 제작 배포까지

카카오톡 테스트 오류

24.07.06 10:44 작성

·

112

·

수정됨

0

from fastapi import Request, FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "kakaoTest"}

@app.post("/chat/")
async def chat(request: Request):
    kakaorequest = await request.json()
    print(kakaorequest)
    return 

안녕하세요 ! 강사님 수강잘하고 있습니다.

14번째 카카오톡 챗봇만들기(local)에서 질문입니다.

위의 코드 서버 실행시키고 카카오톡 챗봇 센터에서 테스트 Api를 했을때 아래와 같이 에러가 나오네요 ㅜ

그래서 혹시나 해서

from fastapi import Request, FastAPI

app = FastAPI()

@app.get("/")
async def root():
    return {"message": "kakaoTest"}

@app.post("/chat/")
async def chat(request: Request):
    kakaorequest = await request.json()
    print(kakaorequest)
    response = {
        "version": "2.0",
        "template": {
            "outputs": [
                {
                    "simpleText": {
                        "text": "안녕"
                    }
                }
            ]
        }
    }
    return response

혹시나 response 양식을 줘봐도 안되네요..

무엇이 잘못되었을까요..? ㅠㅠ

답변 2

0

쭌랩님의 프로필 이미지
쭌랩
지식공유자

2024. 07. 10. 23:05

안녕하세요 쭌랩입니다. 답변이 늦어서 죄송합니다!

 

혹시 ngrok가 실행되고 있는 중일까요? 만약 ngrok가 실행되고 있지 않으면 카카오톡 서버와 연동이 되지 않습니다. ngrok 를 실행하고 해당 URL과 카카오톡 서버 연결을 다시한번 확인 부탁 드립니다.

 

감사합니다.

쭌랩 드림

0

인프런 AI 인턴님의 프로필 이미지

2024. 07. 08. 10:46

안녕하세요, 인프런 AI 인턴입니다.

님께서 말씀하신 307 Temporary Redirect 오류는 대부분 요청한 리소스의 주소가 일시적으로 변경되었음을 나타내는 HTTP 상태 코드입니다. 여기서 문제는 FastAPI 서버의 설정이나 환경에서 발생할 수 있습니다.

첫 번째 스크린샷에서 “응답 미리보기”에 ‘null’이 표시되고 “응답 결과 콘솔”에 307 오류가 나타나는 부분을 봤을 때, 클라이언트(여기서는 카카오톡 챗봇)가 서버에 요청을 보냈지만, 서버가 예상과 다른 반응을 보이며 리다이렉트를 하고 있는 것 같습니다. 이는 서버의 끝점(endpoint) 설정 문제 또는 네트워크 구성 문제일 수 있습니다.

두 번째로 작성하신 코드에서는 응답 형식을 지정하여 반환하고 있으나, 여전히 같은 오류가 발생한다면 다음을 확인해 볼 필요가 있습니다:

  1. 서버가 동작하는 네트워크 환경이나 포트에 대한 설정 오류가 없는지 확인해보세요.
  2. FastAPI를 실행하는 명령어나 환경 설정이 올바른지 검토해보세요. 예를 들어 무언가를 수행하기 전에 리버스 프록시 뒤에 위치하고 있는지, 또는 다른 네트워크 구성이 영향을 미치고 있는지 확인해볼 필요가 있습니다.
  3. 사용하고 있는 웹 서버(Gunicorn, Uvicorn 등)의 로깅 설정을 확인하여 자세한 내용을 파악해 보세요.

정보가 부족하여 정확한 해결책을 제시하기는 어렵지만, 기술적인 문제 해결 과정에서는 여러 가능성을 하나씩 검토해보는 것이 중요합니다.

강의와 관련된 내용이므로, 질문&답변 게시판에 질문해주시면 유슬기 강사님께서 확인하시고 답변해 주실 거예요.