[Node.js] Google Spread Sheet 연동하기[Node.js] Google Spread Sheet 연동하기

Posted at 2019. 6. 10. 17:05 | Posted in Node.js/Google Spread Sheet
반응형




참고 : https://www.npmjs.com/package/googl-spreadsheet

API : https://github.com/theoephraim/node-google-spreadsheet





※ 해당 포스팅 google-spreadsheet 2.0.7 버전을 기준으로 작성되었습니다.

    google-spreadsheet 3 버전 이후버전부터는 실행에 앞서 에러가 발생합니다.

    추후 수정 예정이오니 해당 포스팅을 참고하시는 분은 이점을 꼭 기억해 주시기 바랍니다.

    ( google-spreadsheet 2.0.7 버전의 경우 2020-05-15일 기준으로 사용에 문제는 없습니다. )





■ Node.js에서 google-spreadsheet 모듈 설치하기





제일 먼저 노드에서 구글 스프레드 시트를 제어할 수 있게 해주는


google-spreadsheet 모듈을 설치한다.


 $ npm install google-spreadsheet@2.0.7








■ Google Spread Sheet API 생성하기



01. 먼저 https://console.developers.google.com/에 접속 하여 상단 메뉴의 프로젝트 명을 클릭한다.

※ 필자는 기존에 생성해둔 프로젝트가 있기때문에 위와 같은 화면부터 시작되었다.





02. 팝업창이 뜨맨 새 프로젝트 버튼을 클릭하여 새로운 프로젝트를 생성한다.






03. 프로젝트의 이름을 생성해 준다.

 ① 먼저 프로젝트의 이름은 자동으로 생성된다, 그렇지만 직접 입력하여 수정이 가능하다.

 ② 만들기 버튼을 클릭하여 프로젝트를 생성한다.





04. 정상적으로 프로젝트가 생성되었다면 아래와 같은 프로젝트 선택 팝업창을 확인 할 수 있다.





05. 좌측의 라이브 러리를 클릭하여 구글 시트 라이브 러리를 생성해 보자.





06. 검색창에 Google Sheets API를 입력하면 구글 시트 라이브 러리를 찾아온다.

    구글 시트의 API를 선택한다.






07. 사용 설정을 누르면 구글 시트 API의 사용이 가능해 진다.





08. 이제 좌측 메뉴에서 사용자 인증 정보 를 클릭한다.





09. 해당 작업을 진행하기 위한 인증 KEY는 서비스 계정 키 이다.

 ① 사용자 인증 정보 만들기를 클릭한다.

 ② API 키, OAuth 클라이언트 ID, 서비스 계정 키의 3가지 항목 중에서 서비스 계정 키를 선택한다.





10. 이제 서비스 계정 키를 생성해야 한다.

 ① 서비스 계정의 이름과 아이디를 생성한다.

     서비스 계정 ID는 구글 시트와 노드.js와의 연동에 필요할 수 있으니 카피해 두자.

 ② 키 유형은 JSON 파일을 선택한다.

 ③ 생성버튼을 클릭한다.





11. 서비스 계정의 JSON 파일이 자동으로 생성된다.

     다운을 받아두도록 하자.





12. 그럼 아래와 같이 사용자 계정 키가 정상적으로 생성 되었다.
















■ 구글 스프레드 시트 문 생성하고 읽기, 쓰기 권한 부여하





01. 자신의 구글 드라이브(https://drive.google.com/drive/my-drive) 페이지에 접속하여 새로운 스프레드 시트문서를 생성해 보자.





02. 문서가 생성되면 우측의 공유 버튼을 클릭한다.







03. 해당 구글 스프레드 시트를 외부에서 사용하기 위한 권한을 설정해야 한다.

① 링크 공유를 통해 모든 사용자 혹은 링크를 알고있는 사용자의 접속을 허용한다.

② 다른 방법으로는 위에서 생성한 서비스 키의 메일 주소에 읽기 및 쓰기 권한을 주는 것이다.

 








04. 설정이 완료되면 해당 스프레드 시트의 URL에서 ID에 해당하는 내용을 복사해 둔다.





그럼 이제 Node.js와 Google Sheets의 연동에 필요한 사전 준비는 마무리 되었다.


이제 정상적으로 작동하는지를 한번 확인해 보자.









■ Node.js와 Google Spreadsheet 연동하기




모든 밑작업이 완료 되었다면 이제 노드.js와 스프레드 시트를 연동해 보자.


위 작업들에서 따로 보관해 두어야 한다고 했던 서비스 계정 키.json 파일과


작업을 진행할 구글 스프레드 시트의 아이 값이 사용된다.



# 소스 코

 google_sheets.js

const googleSpreadsheet = require("google-spreadsheet");


// Google APIs 페이지에서 생성한 서비스 계정 키의 JSON 파일을 배치한다.

const creds = require("./서비스 계정 키.json");


// 작업을 수행할 Google Spreadsheet 문서의 ID값

const doc = new googleSpreadsheet("구글 스프레드 시트 ID");


doc.useServiceAccountAuth(creds, function(err) {

doc.getInfo(function(err, info) {

                // 해당 시트의 정보가 info에 담겨있다.

// console.log(info);

console.log("구글 시트의 제목  : " + info.title);

console.log("구글 시트의 URL  : " + info.id);

                console.log("마지막으로 업데이트된 날짜 및 시간  : " + info.updated);

console.log("스프레드시트의 생성자 아이디  : " + info.author.name);

console.log("스프레드시트의 생성자 메일주소  : " + info.author.email);

});

});




# 출력 결과




이로서 노드.js와 구글 스프레드 시트의 연동이 성공적으로 되는 모습을 확인 할 수 있다.










반응형
//

[Ubuntu] SAMBA 파일 서버설치하고 Windows에서 접근[Ubuntu] SAMBA 파일 서버설치하고 Windows에서 접근

Posted at 2018. 12. 23. 22:45 | Posted in Linux/Ubuntu
반응형




참고 : http://www.dreamy.pe.kr/zbxe/CodeClip/163216

참고 : http://hamonikr.org/board_bFBk25/16609

참고 : http://developinghappiness.com/?p=82





■ 우분투에 삼바 파일서버 설치하고 파일 공유하기




#01. 우분투에 삼바 서버 설치




우선우분투에 삼바를 설치한다.


아래와 같이 입력하여 우분투에 삼바를 설치하자.


 $ sudo apt-get install samba

 계속 하시겠습니까? [ Y / n ] Y





삼바가 설치가 완료되었다면


다음으로 해야할일은 삼바로 접근할 계정을 생성하는것 이다.


p.s 해당부분은 생략하고 우분투 계정으로 해도 되는것으로 보여진다.


자세한건는 좀더 테스트를 하고 추후 포스팅을 수정할 예정이다.



 $ sudo smbpasswd -a wicked

 New SMB password : 

 Retype new SMB password : 





삼바의 계정 생성이 완료되었다면


이제 VIM을 사용하여 공유할 폴더를 설정한다.



 $ sudo vim /etc/samba/smb.conf




① 개인 설정

 [ 개인 폴더명 ]

 comment = 연결할 SAMBA의 설명 코멘트

 path = SAMBA로 공유할 폴더의 위치

 valid users = SAMBA로 접근할 계정명

 writable = 수정권한을 부여한다.

 guest ok = 게스트 접속 허용 여부

 create mask = SAMBA로 생성되는 파일의 권한

 directory mask = SAMBA로 생성되는 디렉토리의 권한

 hosts allow = 접속을 허용할 IP 주소 한칸 띄워쓰기를 통해 추가로 IP주소를 넣을 수 있다.

 unix charset = LINUX 내부 문자셋

 dos charsetWINDOWS의 문자셋

 display charset = 화면 출력 문자셋



② 공개 설정

 [ 공개 폴더명 ]

 comment = 연결할 SAMBA의 설명 코멘트

 path = SAMBA로 공유할 폴더의 위치

 public = 전체 공개 설정

 writable = 쓰기, 수정 여부

 write list = 읽기 전용 여부(@그룹명 : 해당 그룹은 사용 가능)

 force user = 파일 폴더 생성시 지정되는 USER 계정

 force group = 파일 폴더 생성시 지정되는 GROUP 계정






모든 설정이 완료되었다면


smb.conf 파일을 저장하고 빠져나온다음


삼바를 재실행 시켜준다.


 $ sudo service smbd restart




마지막으로 삼바에서 사용할 포트를 사용하기위해


방화벽을 해제해 주어야 한다.


 $ sudo ufw allow 137,138/udp

 $ sudo ufw allow 139,445/tcp




마지막으로 항상 재시작 해도 삼자가 자동으로 시작되게 등록해준다.

sudo systemctl enable smbd




#02. 윈도우에서 삼바로 설정한 우분투 디렉토리에 접근




아무거나 폴더를 하나 열고


상단 URL 입력 부분에 접근할 우분투 서버의 IP 주소를 입력한다.



 \\127.0.0.1


① 접근할 우분투 서버의 아이피 주소를 입력한다.

② 위에서 생성한 삼바 계정과 패스워드를 입력한다.

③ 입력이 끝나면 확인 버튼을 클릭한다.





해당 IP로의 접근이 성공되었다면.


아래 이미지와 같이 삼바의 디렉토리 경로로 설정한


폴더명이 보일것이다..









위에서 지정한 폴더로 접속하면


해당 폴더의 내용을 손쉬게 확인 및 수정 할 수 있다.


















반응형
//

[MariaDB] root 계정의 비밀번호 및 보안 설정 - Ubuntu[MariaDB] root 계정의 비밀번호 및 보안 설정 - Ubuntu

Posted at 2018. 12. 11. 22:33 | Posted in MySQL/MariaDB
반응형




참고 : https://github.com/helloheesu/SecretlyGreatly/wiki/맥에서-mysql-설치-후-환경설정하기





■ 우분투 마리아DB 비밀번호 및 보안 설정





우분투마리아DB 설치가 끝났다면 이제


접속할 수 있도록 관리자(root) 계정의 비밀번호 및 보안기능을 설정해 보자.



 $ sudo mysql_secure_installation




위 명령어를 실행하면 위와같이 이제 설정값을 어떻게 정할 건지 묻게된다.


아래 묻는 항목을 정리하였으니 하나하나 확인해 보며 설정을 끝마치도록 한다.









# 01. Enter current password for root



관리자(root) 계정의 현재 비밀번호를 묻는다.


비밀번호를 입력하고 ENETER 키를 누르면 된다.



그렇지만 [Ubuntu] MariaDB 설치 와 같이


마리아DB를 설치하고, $ sudo mysql_secure_jinstallation 를 통해


처음 설정하는 경우라면 ENETER를 치고  넘어가면 된다.




 Enter current password for root (enter for none): ENTER





# 02. Set root password?



관리자인 root 계정의 패스워드의 사용 여부를 묻는다.



 Set root password? [ Y / n ] Y





# 03. new password AND Re-enter new password



이제 root 계정의 비밀번호를 지정한다.



 Re-enter new password: 비밀번호






# 04. Remove anonymous users?



익명 사용자의 접속여부를 묻는다.


NO을 입력하면 $ mysql -u root 와 동시에 $ mysql도 사용이 가능하다.


되도록이면 YES를 선택하자.



 Remove anonymous users? [ Y / n ] Y






# 05. Disallow root login remotely?



127.0.0.1, localhost외에 다른 IProot 접속의 가능 여부를 묻는다.


YES를 선택하면 원격으로 root 계정의 접근을 막게된다.



 Disallow root login remotely? [ Y / n ] Y






# 06. Remove test database and access to it?



마리아DB 설치시 기본적으로 제공되는 test 데이터베이스의 삭제 여부를 묻는다.



 Remove test database and access to it? [ Y / n ] Y






# 07. Remove test database and access to it?



마지막으로 프리빌리지(privilege) 테이블의 재시작 여부를 묻는다.


YES를 선택하여 작업을 진행한다.



 Reload privilege tables now? [ Y / n ] Y










■ 우분투 마리아DB root 계정으로 접속




이제 모든 설정이 마무리 되었다면


관리자(root) 계정으로 접근할 수 있을 것이다.



 $ sudo mysql -u root -p

 Enter password: #03 에서 지정한 root 계정의 패스워드






이전글 : 우분투 마리아DB 설치하기

다음글 : 우분투에서 마리아DB 원격접속 설정하기




반응형
//

[Ubuntu] MariaDB 설치[Ubuntu] MariaDB 설치

Posted at 2018. 12. 11. 01:11 | Posted in Linux/Ubuntu
반응형




참고 : https://zetawiki.com/wiki/우분투_MariaDB_설치





■ 우분투 마리아DB 설치하기





우분투마리아DB를 설치하려고 한다.


제일먼저 사용하려는 우분투마리아DB가 설치되어 있는지 여부를 확인해 보도록 한다.





# 01. MariaDB 설치 여부 확인


제일 먼저 해야할 일은 list 명령을 통해


mariadb-server의 설치 여부부터 확인한다.



 $ apt list mariadb-server -a


현재 우분투상에 마리아DB는 설치되어 있지 않은것을 확인 할 수 있다.






# 02. MariaDB 설치하기



설치가 되어 있지 않다면


관리자 권한으로 mariadb-server 를 설치한다.



 $ sudo apt-get install mariadb-server mariadb-client

 $ sudo apt-get install mariadb-server mariadb-client --fix-missing --fix-broken


설치중 에러가 날경우 --fix-missing, --fix-broken 를 추가적으로 더 입력하여 진행해 보자





# 03. MariaDB 설치 여부 재확인



이제 다시 맨 처음에 썼던 명령어를 실행해 보면


마리아DB가 정상적으로 설치된 것을 확인 할 수 있다.



 $ apt list mariadb-server -a







# 04. MariaDB 실행



마리아DB의 설치확인이 끝났다면


service 패키지 start 명령을 사용하여 마리아DB를 실행시켜보자.



 $ sudo service mysql start




마리아DB가 정상적으로 실행이 되고 있다면.


아래 명령어와 같이 실행중 여부를 확인 할 수 있다.



 $ sudo service mysql stauts








다음글 : 우분투 마리아DB 비밀번호 및 보안 설정







반응형
//