드디어..매일같이하는 수작업을 자동화하기 위한 사용자 계정 생성을 진행한다. 

 

뭘 해줘야하나면..

 

테스트 스크립트에 아래와 같이 되어 있는데 readonly 만으로는 추가가 안된다.

과감하게 지워주자. 

 

const SCOPES = 'https://www.googleapis.com/auth/admin.directory.user.readonly ';

=>

const SCOPES = 'https://www.googleapis.com/auth/admin.directory.user';

 

listUsers()가 아닌 createUser()로 함수를 생성해서 넣어주자

 

 

그럼 이제 인증하고 나면 listUsers() 호출하게 되는데 createUser()로 바꾼다면?!!

아래처럼 사용자가 생성이 된다~~~ 박수~~~

 

 

이제 1명 추가하는데 성공했다. 휴...대량은 어떻게 하는걸까?

제미니에게 물어보자..흠..여전히 옛날 걸 알려준다. 뭐 이런식으로 for문으로 여러개 추가해도 되나?..

한번에 10000명 추가해보고 싶다.

 

 

 

여기를 통해서 그룹이나 여러가지 옵션들을 바꿔보자 

 

https://developers.google.com/admin-sdk/directory/reference/rest/v1/users?hl=ko#User

 

 

 

처음에 Google Admin SDK랑 연동하는게 어려워서 그렇지 한번만 성공하면

이것저것 다 API를 쓸 수 있다..비용이 들어서 그렇지 ㅠㅠ

 

 

일단 앞에 1번의 필수사항을 잘 이행했다면..이제 소스를 받아서 실행해보자.

 

제미니가 알려줜 javascript 소스코드는 옛날 거다. google-admin 을 노드로 

설치하려고 해도 없다..google-admin-sdk만 있어 ㅠㅠ 

 

이 걸로 정말 하루종일 삽질을 했었다 ㅎㅎ firebase-admin으로 추가해서 

firebase console까지가서..사용자 추가했었는데 사실 내가 필요한건 google workspace에 사용자 추가하는 거지

firebase에 추가하는게 아니다...

 

 

자. 앞에서 봤던 빠른 시작(https://developers.google.com/admin-sdk/directory/v1/quickstart/java?hl=ko) 을 가지고서 하면 금방된다.

 

진짜 구글에서 알려준대로 차례대로만 하면 금방된다.  이 예제가 체고인듯

 

1. API 사용 설정

2. OAuth 동의 화면 구성

 

3. API 키 만들기

 

 

 

1. API 사용 설정 

 

난 앞에서 Google ADMIN SDK를 API 사용 설정해주었는데, Directory API만 해줘도 되는 것 같다. 

https://console.cloud.google.com/apis/enableflow?apiid=admin.googleapis.com&hl=ko&project=프로젝트명

 

 

 

 

 

2. OAuth 동의 화면 구성 및 OAuth2.0 클라이언트 ID 생성

 

- 아래와 사진과 같이 구성해주면된다. 

우리는 서비스 계정을 하나 생성하면서 OAuth2.0을 하나 만들었는데, 이 IAM 전용 말고 웹에서 사용할 

OAuth 2.0 Client ID가 필요하다. + 사용자 인증 정보 만들기에서 추가해주자

 

 

 

- OAuth 동의화면을 만들고나서 상세정보가 생성가능하다. 

 

추가하면서 중요한 건, 로컬테스트이면 아래처럼 URI를 추가해주는 거다. 

운영에 배포하게 된다면 도메인을 추가해줘야겠죠? 

 

OAuth 인증 화면에서 인증한 다음에 리다이렉트될 URI를 인증해주지 않으면 오류가 난다.

( 휴..이것도 서비스 계정에 연결된 OAuth 2.0 클라이언트에는 없어서 한참 헤맸다.)

 

 

 

3. API 키 만들기

- 사용자 인증정보 만들기를 눌러서 API 키도 하나 생성해준다. (금방됨) 

난 일단 IP주소로 API 키 사용 제한을 해놨다.   나중에 웹사이트로 바꾸던지 해야겠다.

 

 

여기까지 하면 준비 완료~~~

 

아래에 ClientID는 새로만든 OAuth2.0 클라이언트 ID를 집어넣는다. 

뭔가 이런 형식으로 생겼다.  123456789-abcdeefghijkmgnl5mr.apps.googleusercontent.com

 

여기서 볼 수 있음.

 

AP키는 3번에서 만든 API를 넣어준다. 

 

 

 

그리고 http-server -p 8000을 콘솔에 쳐서 서버를 띄운다.

난 test.html로 페이지를 만들었다. 

모든게 잘되었다면 아래 처럼 Auhtorize 버튼이 뜬다. 뭔가 이상하다면 콘솔에 오류 메시지가 뜬다.

그 때마다 제미니에게 오류 메시지를 검색하면 생각보다 잘 알려준다.

 

 

 

 

Auhtroize 버튼을 눌러서 계정으로 로그인하면 아래처럼 액세스 요청이 뜬다. 

 

계속을 누르면 아래처럼 우리 도메인에 등록된 사용자 계정 리스트 10개가 나온다. 

여기까지 왔으면 진짜 구글 연동은 100% 성공~~

 

 

 

 

 

 

 

 

최근에 소프트웨어기술자경력관리시스템에 들어가볼 일이 생겼다.

나는 2016년도부터 일했기에 말도안되는데 지금 8년차이다..

아직 아기연차라고 믿고 싶었지만...아무튼 아아아ㅏㅏㅏㅏ직 주니어임

 

그래서 그래..뭐 하나해야겠다는 마음으로 회사에서 반복적으로 하고 있는 일을 

자동화시켜야겠다는 목표를 삼았다.

 

 

난 매일 반복적으로 하는 단순 수작업을 좋아한다. 뭔가 이걸하면서 돈 번다는 느낌이 짜릿함..

 

회사에서 반복적으로 하는 일 중 하나가 사람들의 구글 메일을 생성해주는 거다. 

개강 후에는 매일...그리고는 일주일에 한 두번 정도?

 

현재는 CSV파일로 만들어서 그때 그때 Google Admin에서 사용자를 추가해주는데..

이게 매일 수동으로 하는거라 이걸 자동화시켜야겠다라는 맘이 들었다. 

언젠간 자동화로 구축될거라 생각했지만 이번에는 아니였기에..어떻게든 구겨넣어야했다. 


Google Admin SDK 연동하기

 

예전처럼 API연동할 때 단순히 Key를 이용해서 진행하는게 아니라 Oauth 2.0 인증이 필요하다.

간단한 것들은 Key로 가능하지만, 사용자 생성은 Oauth 해야한다.

 

이것저것 검색해보고 찾아보는게 먼저이겠지만, 이 포스팅의 요점은 Gemini와 함께하는거다.

 

=> 난 모르겠고, 빨리 하고싶어!!!는 다음 링크로 시도해보자. 금방가능함!

https://developers.google.com/people/quickstart/js?hl=ko

 

 

제미니 출발

 

뭔가 수동으로하는거 밖에 안나오니.. 다시 입력한다. API 로하는 방법알려줘!! ..파이썬으로 결과가 나오는데 

난 javascript로 구현할 거여서 다시 정확하게 물어봤다. 

 

 

 

누구보다 친절하게 알려준다. 제미니와 동시대에 살 수 있다니 큰 기쁨이다.

하나씩 차근차근해보자.. 중요한건 필수조건을 잘 이행하는거다.

팀장님에 나에게 관리자 계정 권한을 줬기때문에 드뎌

 

필수 조건:

  • Google Workspace 관리자 계정
  • Google Cloud Platform 프로젝트
  • Google Workspace API 사용 설정
  • Node.js 및 npm (Node.js 패키지 관리자)

 

 

 

 

1. Google Workspace 관리자 계정 

- 이렇게 관리 콘솔이 나오고 Admin으로 들어갈 수 있어야한다. 

난 지금 최고관리자 권한이여서 이것 저것 다 할 수있는 것 같은데..관리자 역할이 잘 부여있어야겠죠?..

 

 

 

 

2. Google Cloud Platform 프로젝트 생성

- 안그래도 구글은 친절하게 어떻게 만드는지랑 다 알려준다. 

- https://developers.google.com/workspace/guides/create-project?hl=ko

 

간략하게 방법을 설명한다.

 

 

1) 프로젝트를 생성한 후, 서비스 계정을 생성해준다. 

 

 

* 서비스 계정을 생성할 때 키를 생성하면 JSON 파일이 떨어지는데 잘 저장해두자. 

파이썬이나 node로 연동할 때 쓰인다

 

 

  • Google Workspace Marketplace OAuth 클라이언트 사용 

 

 

3. Google Workspace API 사용 설정

- https://support.google.com/a/answer/7281227?hl=ko&visit_id=638498740466496669-1503606595&rd=1

 

API 및 서비스 > 사용설정된 API 및 서비스에서 + API 및 서비스 사용 설정을 클릭한다. 

 

 

여러가지 API들이 있는데 이중에 ADMIN을 검색하면 ADMIN SDK API가 나온다. 

이걸 사용을 해주자.

 

 

 

4. Node.js 및 npm (Node.js 패키지 관리자)

- 이건 콘솔에서 node 쳤을 때 버전명이 잘 나오면 된다.

 

 

 

포스팅이 길어져서 다음 장으로..

+ Recent posts