-
firebase api서비스 사용하기 - 서비스키 발급 + Google API 사용클라우드/GCP 2023. 2. 27. 20:34
1. 서비스 키 발급
Firebase에서 제공하는 Realtime DB를 사용하려한다.
이 때 해당 Firebase에 접근할 수 있는 인가된 사용자인지를 판별하는데 service key가 필요하다.
서비스 키 발급방법

좌측 상단에 있는 톱니바퀴 > 프로젝트 설정 선택

저 파란 박스부분에 해당하는게 개인 서비스계정 정보다.
노출되면 안된다.
나는 플라스크를 통해 개발중이기 때문에 언어는 Python으로 선택한 뒤 '새 비공개 키 생성' 버튼을 누른다.
그럼 서비스 키가 json으로 다운받아지는데, 나는 이 파일을 프로젝트 안으로 넣어준다.

2. 권한 설정
나는 이 계정에다가 GCP API를 사용할 권한을 주려한다.

IAM 콘솔로 들어간다 > Grant access 클릭

New princiapals에 서비스 계정 적고, Select a role에 부여할 권한 선택
여러권한을 줄 수 있다.

서비스 계정은 위에나와 있던 창에서 'firebase 서비스계정'이라고 적힌부분을 복사해서 넣으면 된다.
(기존에 계정에 추가하려면 아래로)

ADD ANOTHER ROLE

같은 API더라도 Role이 다 다르니 확인하고 선택하기

개발하는 곳에 firebase_auth.py 모듈 따로 만들어서 저렇게 적어준다.
그리고 그 아래에 firebase 사용하는 함수를 썼다.
나는 translation API 사용해서 관련된 함수는 아래와 같다.
import firebase_admin from firebase_admin import credentials from firebase_admin import db #Firebase database 인증 및 앱 초기화 cred = credentials.Certificate("SERVICEKEY.json") firebase_admin.initialize_app(cred, { 'databaseURL': #본인 url }) def rdb_save(uid, sourcetxt, targettxt, txtlength, transdate): ref = db.reference('trans/all') ref.push({'uid':uid, 'source':sourcetxt, 'target':targettxt, 'txtlength':txtlength, 'transdate':transdate}) def load_trans(): ref = db.reference('trans/all').get() trans_list = [] for key,val in ref.items(): data = {"source": key, "target": val} trans_list.append(data) return trans_list반응형'클라우드 > GCP' 카테고리의 다른 글
Firebase 로그인 unauthorized-domain에러 (0) 2023.02.13 Cloud Translation API : source 를 HTML이 아닌 Text로 인식시키기 (' 가 ' 로 번역될때) (0) 2023.02.10 윈도우 로컬환경에서 Google Cloud Platform API 사용하기 전 Credentials 인증정보 세팅 (0) 2023.02.10 Download Gcloud SDK and Configure the gcloud environment (0) 2023.02.02 [gcp]firewall update 명령어 (0) 2023.01.30