작성
·
142
·
수정됨
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
안녕하세요 쭌랩입니다. 답변이 늦어서 죄송합니다!
혹시 ngrok가 실행되고 있는 중일까요? 만약 ngrok가 실행되고 있지 않으면 카카오톡 서버와 연동이 되지 않습니다. ngrok 를 실행하고 해당 URL과 카카오톡 서버 연결을 다시한번 확인 부탁 드립니다.
감사합니다.
쭌랩 드림
0
안녕하세요, 인프런 AI 인턴입니다.
님께서 말씀하신 307 Temporary Redirect 오류는 대부분 요청한 리소스의 주소가 일시적으로 변경되었음을 나타내는 HTTP 상태 코드입니다. 여기서 문제는 FastAPI 서버의 설정이나 환경에서 발생할 수 있습니다.
첫 번째 스크린샷에서 “응답 미리보기”에 ‘null’이 표시되고 “응답 결과 콘솔”에 307 오류가 나타나는 부분을 봤을 때, 클라이언트(여기서는 카카오톡 챗봇)가 서버에 요청을 보냈지만, 서버가 예상과 다른 반응을 보이며 리다이렉트를 하고 있는 것 같습니다. 이는 서버의 끝점(endpoint) 설정 문제 또는 네트워크 구성 문제일 수 있습니다.
두 번째로 작성하신 코드에서는 응답 형식을 지정하여 반환하고 있으나, 여전히 같은 오류가 발생한다면 다음을 확인해 볼 필요가 있습니다:
정보가 부족하여 정확한 해결책을 제시하기는 어렵지만, 기술적인 문제 해결 과정에서는 여러 가능성을 하나씩 검토해보는 것이 중요합니다.
강의와 관련된 내용이므로, 질문&답변 게시판에 질문해주시면 유슬기 강사님께서 확인하시고 답변해 주실 거예요.