IT/PHP | CI

[PHP/CodeIgniter] ZOOM API 연동하기 (sever-to-sever OAuth) - 1

카제인나트륨. 2023. 9. 27. 12:15
728x90
반응형

코로나가 시작되면서 비대면, 온라인 형식이 많아졌는데 그 중 많이 사용하는 것중 하나가 ZOOM입니다. ZOOM은 회의 혹은 실시간 강의용으로 보통 많이 사용되고 생각보다 많은 기능들이 있습니다.

 

앱 생성

먼저 https://zoom.us/ 에서 회원가입을 합니다.  

 

 

마켓플레이스 https://marketplace.zoom.us/develop/create로 이동하여 앱 생성을 해줍니다.

 

 

앱 이름을 편한대로 만들어 주시고, 간단한 설명 및 연락처 정보등을 입력하여 정보를 추가합니다.

후에 계정아이디와 클라이언트 DI, 시크릿 코드를 받게됩니다.

 

 

앱 인증 확인하기

아래 링크로 이동하여 ID와 클라이언트 값이 올바르게 발급되었는지 확인합니다.

https://reqbin.com/curl

 

예제)

curl -X POST https://zoom.us/oauth/token -d 'grant_type=account_credentials' -d 'account_id={accountID}' -H 'Host: zoom.us' -H 'Authorization: Basic Base64Encoded(clientId:clientSecret)'

저 같은경우는 BASE인코딩은 직접 함수를 이용해서 확인했습니다.

base64_encode(' Client ID:Client Secret '); 형식으로 해주셔야 합니다.

 

 

정보를 올바르게 입력하지 않으면 왼쪽이미지 처럼 나오고 인증이 되었다면 오른쪽처럼 정보가 나옵니다.

 

 

사전 작업

컴포저로 아래 명령어를 통해 guzzle 라이브러리를 설치합니다.

composer require guzzlehttp/guzzle

 

두번째로 DB 테이블을 하나 생성해 줍니다.

 

CREATE TABLE `zoom_oauth` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `provider` VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_ci',
    `provider_value` TEXT NOT NULL COLLATE 'utf8mb4_unicode_ci',
    PRIMARY KEY (`id`) USING BTREE
)
COMMENT='zoom api 테이블'
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
AUTO_INCREMENT=2

 

위의 모든 작업이 완료되면, ZOOM API 연동의 사전 작업은 모두 준비되었습니다.

API 연동 소스는 다음 게시물에서 올리겠습니다.

728x90
반응형