๊ตฌ๊ธ ์คํ๋ ๋์ํธ ๋ฐ์ดํฐ์ python์ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต์ ํด๋ด ๋๋ค. ์ฌ์ ์ ๊ตฌ๊ธ ํด๋ผ์ฐ๋ Platform์์ ์๋น์ค ๊ณ์ ์ ๋ฐ๊ธ๋ฐ์์ผ๋ง ์ฌ์ฉ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ฐ๋ ๋ฐฉ๋ฒ
1. ๊ตฌ๊ธ ํด๋ผ์ฐ๋ ํ๋ซํผ์์ [์ฌ์ฉ์ ์ธ์ฆ ์ ๋ณด] ๋ฅผ ํด๋ฆญํ์ฌ ์๋น์ค ๊ณ์ ์ ํด๋ฆญํฉ๋๋ค.
2. ์๋น์ค ๊ณ์ ๋ฉ๋ด์์ ์๋น์ค ๊ณ์ ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์๋น์ค ๊ณ์ ์ ์์ฑํฉ๋๋ค. ์ ๋ ์ธ์ด ๋ณ๋ก ๋ฐ๋ก ๊ด๋ฆฌํ๋ ค ํค๋ฅผ N๊ฐ ๋ฐ๊ธ ํ์์ต๋๋ค.
3. ์ํ๋ ์ ๋ณด๋ฅผ ํด๋ฆญ ํ ์์ธ์ค ๊ถํ์ ํธ์ง์๋ก ์ค์ ํ๋ฉด ์ฝ๊ณ ์ฐ๊ณ ์ญ์ ๊ฐ ๋ค ์ฉ์ดํฉ๋๋ค.
4. "์๋ฃ" ๋ฒํผ ๋๋ฅผ ์ .json ํ์ผ์ ํ๋ ๋ค์ด ๋ฐ์ ์ ์์ต๋๋ค. ํด๋น ํ์ผ์ ์ฌ์ฉํ ํ๋ก์ ํธ ํด๋์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค.
5. ์๋น์ค ๊ณ์ ์ ์์ฑ๋ ์ด๋ฉ์ผ (xxxx@.iam.gserviceaccount.com) ์ ๋ณต์ฌํด๋ก๋๋ค.
6. ์ฐ๋ํ ๊ตฌ๊ธ ๋ฌธ์์ ๋ค์ด๊ฐ ๊ณต์ ์ ํด๋น ์ด๋ฉ์ผ์ ๋ถ์ฌ๋ฃ์ต๋๋ค.
7. python ํ์ผ์ ์๋์ ๊ฐ์ด ์์ค๋ฅผ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ต๋๋ค.
import gspread
allowed_user_list = []
def googlelib():
# ๊ตฌ๊ธ ์คํ๋ ๋ ์ํธ ์ฐ๋
# google platform ์ธ์ฆ key file
json_file_name = 'key file .json'
gc = gspread.service_account(filename=json_file_name)
#๋ฆฌ์คํธ ๋ถ๋ฌ์ฌ URL
doc = gc.open_by_url("์คํ๋ ๋์ํธ URL")
worksheet = doc.worksheet("์คํ๋ ๋์ํธ ์ํธ๋ช
")
tempList = worksheet.range("์คํ๋ ๋์ํธ์์ ๋ฐ์ดํฐ ๊ฐ์ ธ์ฌ ๋ฒ์")
for i in range(len(tempList)):
if i > 0 and tempList[i].value !='' :
allowed_user_list.append(tempList[i].value)
print(allowed_user_list)
์์ ๊ฐ์ด ํ์ฉํ ๊ฒฝ์ฐ ๊ตฌ๊ธ ์คํ๋ ๋ ์ํธ์ ์ ๊ทผํ์ฌ ์ํ๋ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์ฌ ์ ์์ต๋๋ค. ์ ๊ฐ์ ๊ฒฝ์ฐ ๊ณ ์ ๋ ํ์ผ๋ช ์ ๋ฃ๊ธฐ๋ณด๋ค info.json ํ์ผ์ ํ๋ ๋ ๋ง๋ค์ด์ file openํ์ฌ ์์ค ๋ฐ์์ ์ฝ๊ฒ ์์ ํ์ฌ ์ฌ์ฉํ ์ ์๋๋ก ์์ ํ์์ต๋๋ค.
{
"keyFile" : "googleKeyํ์ผ.json",
"spreadsheetURL" : "๊ตฌ๊ธ ์คํ๋ ๋ ์ํธ URL",
"sheetName" : "์ํธ์ด๋ฆ",
"DataRange" :"์ํธ๋ฒ์"
}
๐ python์์ ์ ํ์ผ ์ฌ๋ ๋ฐฉ๋ฒ
# ๊ฒฝ๋ก๋ ์์์ ์
ํ
์ ํด์ฃผ์ธ์.
with open('info.json') as json_file:
info = json.load(json_file)
์์ ๊ฐ์ด python์์๋ ๊ตฌ๊ธ ์คํ๋ ๋์ํธ ๋ฐ์ดํฐ๋ฅผ ๋ง์๊ป ํ์ฉํด๋ด ์๋ค.
๋๊ธ