본문 바로가기
Office.com

[MS 365] How to Using Python, connect one drive(+ excel + share point) Python코드를 사용하여, MS 365를 DB처럼 쓰기 -1

by Mr.noobiest 2024. 4. 2.

 

Python으로 MS 365 데이터를 가져다 쓰기


MS365는 마소에서 만든 프로그램(엑셀/파워포인트 등)를 웹에서도 사용할 수 있게 만든 웹 어플리케이션이다, 제대로 사용하려면 유료인 경우가 많지만, 외부에서도 작업물을 확인할 수 있다는 장점이 있다.

그런데 다른 플랫폼과 연동을 할때 MS의 연동이 가능하게 해주는 어플리케이션의 성능은 최악이다.(Power automate같은거), 물론 내가 제대로 못쓰는것일 수도 있지만 일단 경험상 너무 쓰기 불편했다.

그래서 Python코드로 내가 원하는 대로 동작하는 프로세스를 만들려고 한다.

 

 


 

 

동작과정

https://........../onedrive.aspx 로 구성되어 있는 Onedrive에 Python을 사용하여 접근하고 내부에 적재된 파일을 수정하는 코드를 작성하였다.

1) 로컬 PC에  있는 Excel 파일('File_Path/File_Name.xlsx')을 원드라이브에 이미 올린 Excel파일이랑 합친다.(append)

2) 로컬 PC에  있는 Excel 파일('File_Path/File_Name.xlsx')을 원드라이브에 이미 올린 Excel파일에 덮어씌운다.(overwrite)

 

 


 

 

MS 365 API 플랫폼 Azure


Azure에 가서 아래 값들을 가져와야 한다.

TENANT_ID = ''
CLIENT_ID = ''
SECRET_ID =''
AUTHORITY = 'https://login.microsoftonline.com/' + TENANT_ID
ENDPOINT = 'https://graph.microsoft.com/v1.0'

아래 순서대로 진행하여 Azure에서 앱을 등록하면 된다.

1) https://portal.azure.com/#home ->  https://portal.azure.com/#allservices/category/All 모든 서비스로 이동한다.

 

 


 

 

2) "앱 등록"을 선택하거나 검색창에서 "앱 등록" 검색

앱 등록을 선택한다.

 

 


 

 

3) 새 등록을 선택한다.

앱등록 페이지에서 새 등록을 선택한다.

 

 


 

 

 

4) 웹을 구성한다.

신규 앱등록 시 위와같이 진행한다.

 

 


 

 

5) 생성된 앱 > 인증서 및 암호 > 클라이언트 비밀 > + 새 클라이언트  암호 원하는 기간을 선택한 후 생성

생성된 값과 비밀 ID를 잘 보관한다.

잃어버리면 1번부터 다시하면 된다.

 

 


 

 

6) 앱 > API  사용 권한 > +  권한 추가 > Microsoft API > mocrosoft Graph > 위임된 권한 > File로  검색  > 원하는 기능들을 선택한다.

필요한 권한들을 선택하면 되는데, 그냥 전부 선택하자.

 

여기까지 완료한 뒤 개요를 가면 아래와 같이 ID값들을  볼 수 있다.

개요 부분에 우리가 필요한 정보들이 있다.

각 항목은 아래와 같은 의미다.

TENANT_ID  디렉터리(테넌트)ID
CLIENT_ID 애플리케이션(클라이언트)ID
SECRET_ID 인증서 암호 > 값

 

위에서 나옵 값들을 잘 보관해두도록 하자

 

 

너무 길어서 다른 페이지에 2편에 이어서 작성했습니다. 

 

 

[MS 365] How to Using Python, connect one drive(+ excel + share point) Python코드를 사용하여, MS 365를 DB처럼 쓰기 -

-일단 1)번부터 구현해보자. 1) 로컬 PC에 있는 Excel 파일('File_Path/File_Name.xlsx')을 원드라이브에 이미 올린 Excel파일이랑 합친다. import pandas as pd import os import datetime from O365.excel import WorkBook from O365 im

mrnoobiest.tistory.com

 

728x90
반응형