Pose api ajax로 예제를 사용하려고 하는데 에러가 납니다

javascript공부하는 초보자라 이것저것 시도해보고 있는데 방법을 잘 몰라서 문의 드립니다.
카카오 포즈 api 예제 중 영상 분석하기와 영상 결과 확인하기 부분인데요

$.ajax({
    type : "POST",
    url : "https://cv-api.kakaobrain.com/pose/job",
    headers : {Authorization : "KakaoAK Api-key"},
    data : {video_url : "http://example.com/example.mp4"},
    success : function(data) {
        console.log(data)
        $.ajax({
            type : "GET",
            url : "https://cv-api.kakaobrain.com/pose/job/bb91c265-341d-4661-813b870cff0de1d3",
            headers : {Authorization : "KakaoAK Api -key"},
            success : function(msg) {
                console.log(msg)
            },
            error : function() {
                alert("분석 결과 확인 실패")
            }
        });
    },
    error : function() {
        alert("분석하기 실패");
    }
});

이런식으로 예제를 결과가 나오게 시도하고 있는데
실행을 하니 Access-Control-Allow-Origin 라고 에러가 나서 크롬 확장파일로 해결했습니다.
그리고 다시 실행하니
첫번째 success부분에서 console.log(data)라고 하면 콘솔창에 {job_id : xxx}이라고 잘 나오는데
두번쨰 success부분에서는
예제의 Response 실패

{
    "description": "Failed to get video",
    "job_id": "32b1dc9e-16c6-426b-9b06-d1c3e2abdfb4",
    "status": "failed"
}

이런식이 아닌

{job_id: "f30328a5-f5c3-4ac7-bbfa-c91b5822a697", status: "processing"}

나옵니다.
ajax코드를 잘못 작성한걸까요?

안녕하세요.
비디오 API의 처리가 끝날 때까지는 “processing” status가 반환됩니다.
콜백이나 주기적인 요청으로 처리가 끝난 타이밍에 호출하시면 결과를 받아보실 수 있습니다.
https://developers.kakao.com/docs/latest/ko/pose/dev-guide 하단의 예시코드를 참고 부탁드립니다.
감사합니다.

Sample: Callback
curl -v -X GET "https://api.example.com/pose/callback?job_id=bb91c265-341d-4661-813b-870cff0de1d3"
이 부분을 말하시는건가요??

$.ajax({
type:“GET”,
url: “https://api.example.com/pose/callback?job_id=bb91c265-341d-4661-813b-870cff0de1d3”,
success: function(collback){
alert(“콜백 성공”)
console.log(collback)
},
error : function(){
alert(“콜백 실패”)
}
});
이런식으로 써서 실행을 해보면 Failed to load resource: net::ERR_NAME_NOT_RESOLVED 이런 에러만 발생합니다.

그리고 영상 분석하기 api예제를
Request: 영상 URL로 요청
curl -v -X POST “https://cv-api.kakaobrain.com/pose/job
-H “Authorization: KakaoAK {REST_API_KEY}”
-d “video_url=http://example.com/example.mp4” 이 부분을 ajax로 그대로 쓰는데도
반환되는 response 값이 “job_id”:“bb91c265-341d-4661-813b-870cff0de1d3” 고정이 아니라 변화는 건가요??

네 말씀해주신 대로 job_id는 매번 변하는 값입니다.
영상 분석하기 API인 "https://cv-api.kakaobrain.com/pose/job"를 호출하여 영상 처리를 요청하고, 응답에 있는 job_id를 꺼내어 영상 분석 결과 확인하기 API인 "https://cv-api.kakaobrain.com/pose/job/{job_id}"를 호출하셔야합니다.

callback은 API 서버에 처리가 완료되었다는 이벤트를 받을 endpoint를 만들어두고, 해당 타이밍에 처리하도록 구현하시려는 경우 지원하는 기능인데요. 아직 별도의 API 서버가 없으신 경우 “Sample: 영상 결과 시각화” 부분의 “get_job_result” 함수와 같이 몇초마다 한번씩 처리가 끝났는지 상태를 확인하시어 처리가 끝났다면 결과를 사용하시면 됩니다.
참고로 브라우저에서 직접 호출시 API키가 사용자에게 노출되는 위험이 있어 별도로 CORS는 지원하지 않고 있습니다. 공개 서비스를 만드시는 경우, 중계 서버를 통해 Pose API를 호출하시는 것을 권해드립니다. 감사합니다.

1개의 좋아요