API와 관련된 콜백 URL은 무엇입니까?
나는 인터넷을 샅샅이 뒤졌고 콜백 URL에 대한 아이디어를 내 머리로 감쌀 수없는 것 같습니다. 제 경우에는 직접 정의해야하는 콜백 URL이 몇 개 있습니다. 인기있는 것은 "기본 콜백 URL"입니다. 이것은 정확히 무엇입니까? 평범한 영어로 예를 들어 줄 수 있습니까?
콜백 URL은 완료된 후 호출하는 API 메서드에 의해 호출됩니다. 그래서 전화하면
POST /api.example.com/foo?callbackURL=http://my.server.com/bar
그런 다음 /foo
완료되면에 요청을 보냅니다 http://my.server.com/bar
. 해당 요청의 내용과 방법은 다를 수 있습니다. 액세스하는 API에 대한 문서를 확인하세요.
편지로 생각하십시오. 양식을 작성해달라고 요청한 다음 양식이 들어 있던 원래 봉투에있는 주소가 미리 지정된 봉투에 양식을 반환하는 등 편지를받는 경우가 있습니다.
양식 작성을 마치면 제공된 반환 봉투에 넣고 다시 보냅니다.
callbackUrl은 반환 봉투와 같습니다. 당신은 기본적으로 내가이 데이터를 보내고 있다고 말하는 것입니다. 완료되면이 callbackUrl에서 귀하의 응답을 기다리고 있습니다. 따라서 API는 사용자가 보낸 데이터를 처리 한 다음 콜백을 확인하여 응답을 보냅니다.
때로는 일부 데이터를 처리하는 데 시간이 오래 걸리고 호출자가 응답을 기다리도록하는 것이 의미가 없기 때문에 유용합니다. 예를 들어 API를 통해 사용자가 문서를 보내고 바이러스를 스캔 할 수 있다고 가정 해 보겠습니다. 그런 다음 보고서를 보냅니다. 스캔은 3 분 정도 걸릴 수 있습니다. 사용자는 3 분 동안 기다릴 수 없습니다. 따라서 문서를 받았음을 인정하고 스캔을 수행하는 동안 발신자가 다른 비즈니스에 참여하도록 한 다음 완료되면 callbackUrl을 사용하여 스캔 결과를 알려줍니다.
콜백 URL을 사용하는 경우 API는 콜백 URL에 연결하여 일부 데이터를 보내거나받을 수 있습니다. 이는 API가 나중에 (API 호출 후) 사용자에게 연결할 수 있음을 의미합니다.
예
- 당신은 에 요청하여 데이터 전송 API를
- API 는 두 번째 요청을 사용하여 데이터를 귀하 에게 보냅니다.
API 문서에 정확한 정의가 있어야합니다.
또 다른 사용 사례는 OAuth와 같은 것일 수 있습니다. API에서 직접 호출하지 않을 수 있습니다. 대신 ID 공급자와의 인증을 완료 한 후 브라우저에서 콜백 URL을 호출합니다.
일반적으로 사용자 이름 암호에 최종 사용자 키를 입력하면 ID 서비스 제공 업체가 임시 인증 코드를 사용하여 브라우저를 "콜백"URL로 리디렉션합니다. 예 :
https://example.com/callback?code=AUTHORIZATION_CODE
그런 다음 애플리케이션은이 인증 코드를 사용하여 수명이 훨씬 더 긴 ID 공급자에게 액세스 토큰을 요청할 수 있습니다.
비동기 방식으로 API를 호출하는 메커니즘입니다. 순서는 다음과 같습니다
- 앱이 URL을 호출하여 콜백 URL을 매개 변수로 전달합니다.
- API는 20x http 코드로 응답합니다 (201 추측하지만 api 문서를 참조하십시오)
- API는 특정 시간 동안 귀하의 요청에 따라 작동합니다.
- API는 콜백 URL 주소에서 결과를 제공하기 위해 앱을 호출합니다.
따라서 API를 호출하고 사용자에게 예를 들어 요청이 "처리 중"또는 "획득"임을 알리고 API에서 응답을 받으면 상태를 업데이트 할 수 있습니다.
이해가 되길 바랍니다. -지
참고 URL : https://stackoverflow.com/questions/23347056/what-is-a-callback-url-in-relation-to-an-api
'Programing' 카테고리의 다른 글
Windows 컴퓨터에서 Python을 완전히 제거하는 방법은 무엇입니까? (0) | 2020.10.20 |
---|---|
터미널에서 경고음을 비활성화하고 싶습니다-Mac OSX (0) | 2020.10.20 |
CMake에서 일반 컴파일 플래그를 설정하는 최신 방법은 무엇입니까? (0) | 2020.10.20 |
파이썬에서 PHP의 print_r ()에 해당하는 것은 무엇입니까? (0) | 2020.10.20 |
남은 높이를 100 % 채우는 방법은 무엇입니까? (0) | 2020.10.20 |