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/#allservices/category/All -> 검색창 앱 등록(App register)를 선택한다.
2) 새 등록을 선택한다.
3) 웹을 구성한다.
4) 생성된 앱 > 인증서 및 암호 > 클라이언트 비밀 > + 새 클라이언트 암호 원하는 기간을 선택한 후 생성
생성된 값과 비밀 ID를 잘 보관한다.
5) 앱 > API 사용 권한 > + 권한 추가 > Microsoft API > mocrosoft Graph > 위임된 권한 > File로 검색 > 원하는 기능들을 선택한다.
여기까지 완료한 뒤 개요를 가면 아래와 같이 ID값들을 볼 수 있다.
각 항목은 아래와 같은 의미다.
TENANT_ID | 디렉터리(테넌트)ID |
CLIENT_ID | 애플리케이션(클라이언트)ID |
SECRET_ID | 인증서 암호 > 값 |
위에서 나옵 값들을 잘 보관해두도록 하자
너무 길어서 다른 페이지에 2편에 이어서 작성했습니다.
728x90
반응형
'Office.com' 카테고리의 다른 글
[MS 365] How to Using Python, connect one drive(+ excel + share point) Python코드를 사용하여, MS 365를 DB처럼 쓰기 -2 (0) | 2024.04.02 |
---|---|
[Excel / 엑셀] 중복값만 표시 + 중복값을 제외한 값들의 총 갯수(몇개인지) (0) | 2023.11.19 |
window linux chmod처럼 권한 주기 (0) | 2023.04.06 |
[Onedrive Online]Python을 사용하여 web Onedrive의 엑셀 파일 편집,업로드,다운로드 하기 (0) | 2023.04.05 |
[Excel]Date,Int를 N개 간격으로 반복+증가 시키기 (0) | 2022.12.26 |