B-C-ME2SR3

{OPEN} 닷넷 개발환경을 위한 Open API 호출 가이드 #3

Blog Post created by B-C-ME2SR3 Employee on Jun 26, 2015

안녕하세요?

아카마이 노승헌 입니다.

 

지난 포스팅까지 비주얼 스튜디오에서 아카마이 Open API 를 호출하기 위하여 요구되는

라이브러리의 빌드 및 새로운 프로젝트에서 DLL 파일을 Import 및 Using 처리하는 과정까지를 살펴봤습니다.

여기까지 준비가 되었다면 이제 실제 API 를 호출하기 위해 필요한 정보들을 확보해야 합니다.

 

ManageAPIS_1.jpg

 

Open API 를 이용하기 위해서는 아카마이 포털인 루나 컨트롤 센터(Luna Control Center)에서

API 호출에 필요한 Credential 을 만들고 Authorization 을 생성해야 합니다.

이들 정보를 생성하기 위해서는 Luna > Configure > Organiztaion > Manage APIs 의 경로로 먼저 이동해야 합니다.

 

ManageAPIS_2.jpg

 

메뉴에 진입하면 {OPEN} API Administration 화면이 나타납니다.

좌측의 API CLIENTS 팬을 보면 CCU API, Luna APIs 등이 보이실텐데요

Open API 를 이용하기 위해서는 "Luna APIs" 항목 하위에 콜렉션을 만들어야 합니다.

 

콜렉션은 쉽게 생각하면 API 호출시 필요한 접근 정보라고 보시면 됩니다.

이 접근 정보는 또다시 Credential 과 Authorization 라는 정보가 존재합니다.

처음에는 조금 헷갈리실 수 있겠지만 한번 만들어 놓으면 쭈욱~ 사용하는 것이니

가이드를 잘 보시고 생성하시면 문제는 없을겁니다!

 

ManageAPIS_3.jpg

 

"Add New Collection" 버튼을 누르면 Collection 의 이름을 입력하는 팝업이 뜹니다.

회사 내부적으로 API 호출 정보를 용도에 따라 분리, 관리해야 할 필요가 있다면

충분히 식별 가능한 이름으로 입력해 주시는 것이 관리 차원에서 좋겠지요?

참고로 하나의 Collection 하위에는 여러가지 Credential / Authorization 생성이 가능합니다.

 

ManageAPIS_4.jpg

 

Collection 이 생성되면 Luna APIs 항목 하위에 생성한 Collection 이 위치하게 됩니다.

해당 Collection 의 우측에 있는 기어 모양의 버튼을 누르면 다시 컨텍스트 팝업이 노출되고

접속 정보를 새로 생성하기 위해서 "Add New Client" 메뉴를 선택하도록 하겠습니다.

 

ManageAPIS_5.jpg

 

약관의 내용은... 길이가 좀 긴편이고 영어의 압박이 다소 있습니다만

API 호출이 단순히 데이터의 확인 뿐만 아니라 일부 API 의 경우는 Config 에 대한 변경과 같은 민감한 동작 수행에 대한 우려 때문에

꼭 읽어보실 것을 권장해 드리며, 앞으로 생성할 Credential / Authorization 정보가 타인에게 노출되지 않도록 신경써 주셔야 합니다!

 

ManageAPIS_6.jpg

 

약관에 동의를 하시면 이제 Client 의 이름을 입력하는 팝업을 만나시게 됩니다.

사내의 대시보드가 있고, 그 대시보드에서 API 를 호출해서 뭔가 동작을 하려고 하신다면

그런 이름으로 Client Name 을 지정하시고 설명을 적어두시면 관리가 편하겠지요?

SAVE 버튼을 누르면 이제 랜덤한 문자열을 포함한 Credeltial 이 생성됩니다.

 

ManageAPIS_7.jpg

 

Credentials 목록에 한줄이 추가가 되었고, Client Token / Client Secret 정보를 확인하실 수 있습니다.

이 값들은 앞선 포스팅에서 준비한 소스코드에서 활용되어야 하는 값들중 일부가 됩니다.

Secret 의 경우 별표 모양의 문자를 누르면 60초간 유지되는 팝업을 통해 값을 확인하실 수 있습니다.

 

ManageAPIS_8.jpg

 

이제 Authorization 을 생성하실 차례입니다.

화면의 두번째 탭인 Authorization 을 누르시고 상단의 "New Authorization" 을 눌러 보겠습니다.

Authorization 은 API 혹은 API 의 개별 액션 (예: Read / Write) 단위로 분리하여 생성이 가능한데요

개발에 참여하는 주체에 따라 적절히 권한을 분리하여 만들어 주시는 것이 좋습니다.

 

ManageAPIS_9.jpg

 

여러가지 입력 항목이 있습니다만 "Name" 정보만 입력하시고 Next 로 넘어가셔도 무방합니다.

아직 Base URL 과 Access Token 이 생성되지 않아 하단에 값이 없는게 보이실 겁니다.

이 값들은 Authorization 이 만들어지면 자동으로 생성이 되고, 역시 닷넷 코드에서 사용해야 하는 값들입니다.

지금까지 총 4개의 값이 필요하다고 말씀드렸는데요, 모두 다 인지하셨죠? ^^

 

ManageAPIS_10.jpg

 

Next 버튼을 누르면 API 단위로 권한을 부여하는 화면이 나옵니다.

앞서 말씀드린 것처럼 READ / WRITE 등의 단위로 권한 할당이 가능한 API 들도 존재합니다.

필요에 따라 과다한 권한이 할당되지 않도록 주의해서 설정해 주셔야 합니다.

 

ManageAPIS_11.jpg

 

API 호출을 위한 정보 생성의 마지막 단계는 조금 전까지 선택한 API, 권한 등을

어떤 Luna Control Center 사용자의 권한과 매핑할 것인지에 대한 설정입니다.

만약 앞 화면에서 특정한 API 의 WRITE 권한을 선택했는데, Luna 사용자가 그 권한이 없다면 (예: Viewer 권한 사용자)

Save 버튼을 누르더라도 저장되지 않고 권한이 없다는 에러 메세지를 만나시게 됩니다.

따라서 API 및 API 권한과 Luna 사용자의 권한이 서로 다르지 않도록 주의해서 생성 작업을 해주셔야 합니다.

 

ManageAPIS_12.jpg

 

Save 버튼을 누르고 권한에 이슈가 없다면 위와 같이 Authorizations 에도 항목이 추가된 것을 보실 수 있습니다.

Base URL 과 Access Token 을 확인하기 위해서는 "Name" 컬럽의 이름을 클릭하면 됩니다.

Base URL 은 말 그대로 API 호출을 위한 도메인일 뿐이며 상세한 API Method 확인은 developer.akamai.com 에서 하실 수 있습니다.

 

ManageAPIS_13.jpg

 

드디어 Open API 를 호출할 모든 준비가 완료되었습니다.

마지막에 확보한 1) Base URL, 2) Access Token 과 더불어, 앞서 만들었던 3) Client Token, 4) Client Secret 을 코드에 넣으면 되겠습니다!

코드에 어떻게 해당 정보들을 넣고 Method 를 선정하여 호출하는지는 다음 포스팅에서 살펴보도록 하겠습니다!

참고로 위의 스크린 샷에 모자이크가 없는 이유는 이미 모든 정보가 삭제되었기 때문임을 알려드립니다 ^^;;

 

감사합니다

Outcomes