Postman에서 Tandem API 호출해보기
Tandem API를 테스트해볼 수 있는 공식 Postman 문서가 있다.
https://documenter.getpostman.com/view/15787353/2s9YXk2faD
이 사이트는 View 전용이기 때문에, 실제로 사용하려면 Postman에 로그인한 후 Import를 통해 불러와야 한다.
Import한 뒤에는 각 API 요청에 사용할 수 있도록 Access Token을 Authorization에 직접 넣어줘야 한다.
(예: Bearer YOUR_ACCESS_TOKEN)
https://aps.autodesk.com/ 에서 애플리케이션을 생성할 때, 아래와 같은 창이 뜬다.
Traditional Web App(3-legged 인증)와 Server-to-Server App(2-legged 인증)는 용도가 다르다.
Server-to-Server App(2-legged 인증)은 사용자 인증이 없기 때문에 Autodesk Docs, BIM 360, Tandem과 같은 유저 기반의 리소스에 접근할 수 없다. 대부분의 Tandem API(예: 문서 조회, 모델 연동, 요소 데이터 호출)는 3-legged로 작동한다.
일단 Traditional Web App
을 선택해보자.
생성하면 이렇게 Client ID
와 Client Secret
이 발급된다.
Callback URL은
http://localhost:3000/auth/callback
으로 설정해준다.
2-legged 토큰과 3-legged 토큰을 발급 받는 프로젝트를 만들었다.
https://github.com/YenaLey/Digital-Twin 의 ApsTokenGenerator
우선 본인 노트북에 git
과 node.js
가 깔려있지 않다면 설치해준다.
그리고 다음 CLI를 차례대로 터미널에 입력한다.
git clone https://github.com/YenaLey/Digital-Twin.git
cd Digital-Twin/ApsTokenGenerator
npm install
npm run dev
문제가 없다면 다음과 같이 터미널에 뜰 것이다.
http://localhost:3000/ 에 접속하고 3-Legged Flow 버튼을 누른다.
여기에 아까 발급받은 Client ID와 Client Secret을 작성하고 Login with Autodesk 버튼을 누르면
Autodesk 로그인 창이 뜰 것이고,
로그인을 완료하면 아래와 같은 화면이 뜬다.
여기서 Allow 버튼을 눌러 권한을 허용해주자.
문제가 없다면 아까 등록한 Callback URL로 리다이렉트 될 것이고,
다음과 같이 3-Legged 토큰이 발급될 것이다.
Refresh Token은 3-Legged 토큰이 만료되면 재발급하기 위한 토큰이고, 아래 Tandem API 호출에는 Access Token을 사용하면 된다.
이제 간단한 API 호출을 직접 해보자.
{{baseUrl}}
에는 https://developer.api.autodesk.com/tandem/v1 을,
{{TandemAuthToken}}
에는 발급받은 Access token을 넣어주고,
:twinID
자리에는 Tandem URL의 뒷부분,
예: urn:adsk.dtt:XCa3fSR8R6SNHNbK91GaIg 를 그대로 넣어주면 된다.
예시로 다음 두 개의 API를 호출해보자:
/twins/:twinID/thumbnail
/twins/:twinID
요청을 보내면 각각 정상적으로 응답이 오는 것을 확인할 수 있다.