Google Sheet를 API로 사용하는 방법: 구글 스프레드 시트 API
서론
이번 시간에는 스프레드 시트를 API로 사용하는 방법을 알아보도록 하겠습니다 ! NodeJS 기준으로 작성되어있으니 참고 바랍니다 😉
Google Cloud 프로젝트 생성
Cloud Computing Services | Google Cloud
Meet your business challenges head on with cloud computing services from Google, including data management, hybrid & multi-cloud, and AI & ML.


콘솔에 접속해줍니다.

IAM 및 관리자에서 프로젝트 만들기를 들어가주세요.

프로젝트를 생성해주세요. 🎉
서비스 계정 생성

이제 API 및 서비스의 사용자 인증 정보를 들어갑니다.

상단에 사용자 인증 정보 만들기의 서비스 계정으로 들어갑니다.

양식을 채우고 완료를 눌러주세요. 😉

자. 이제 사용할 스프레드 시트에 해당 이메일을 공유해주면 됩니다 ! 파란색 박스의 이메일을 복사해주세요.

자. 이제 공유 공유 버튼을 클릭하고 복사해두었던 계정과 공유합니다.
스프레드 시트 API 사용하기

스프레드 시트 API 사용을 위해서 라이브러리를 눌러주세요.

Google Sheets API 를 누르고 '사용' 버튼을 눌러 활성화해주세요.
키 발급 받기

다시 '사용자 인증 정보'로 돌아와서 이메일을 클릭합니다.

키 생성을 위하여 '키' 탭을 눌러서 '키 추가'의 '새 키 만들기'를 누릅니다.

JSON으로 만드시고 코드단에서 인증을 해야합니다.
이제 데이터를 가져와볼까요?: Google Sheet 데이터 가져오기
// 인증에 필요한 정보를 .meta/google-credentials.json에서 가져온다.
import { client_email, private_key } from '../.meta/google-credentials.json';
// googleapis 라이브러리에서 google 객체를 가져온다.
import { google } from 'googleapis'
// 구글 인증을 위해 JWT (JSON Web Token) 객체를 생성한다.
// 이 객체는 구글 API에 접근 권한을 주는데 필요하다.
const authorize = new google.auth.JWT(
client_email, // 서비스 계정 이메일
undefined, // 해당 키 파일의 경로 (사용하지 않을 경우 undefined)
private_key, // 개인 키
[ // 요청할 권한 목록
'https://www.googleapis.com/auth/spreadsheets'
]
);
// 구글 스프레드시트 API에 요청을 보낼 객체를 생성한다.
// 이 객체를 사용해 실제 API 요청을 수행한다.
const googleSheet = google.sheets({
version: 'v4', // API 버전
auth: authorize // 위에서 생성한 인증 객체
});
// 비동기 함수를 사용해 스프레드시트에서 데이터를 가져온다.
// 여기서는 스프레드 시트 ID와 데이터를 가져올 범위 (A1:B4)를 지정한다.
const context = await googleSheet.spreadsheets.values.get({
spreadsheetId: '스프레드 시트 ID', // 실제 스프레드시트의 ID를 입력
range: 'A1:B4', // 가져올 데이터의 범위
});

여기서 스프레드 시트 ID는 spread sheet 주소(붉은 박스)에서 알 수 있습니다.
흰색으로 가려진 부분은 임의로 가렸습니다./d/
이후부터/edit
까지가 스프레드 시트 ID 입니다 !