ํ์ฌ Office365-REST-Python-Client==2.3.0.1
๋ค์ ์ฝ๋๋ฅผ ์คํํ ๋ :
def upload_to_sharepoint():
url = 'https://tenant.sharepoint.com/sites/sitename'
credentials = {
'client_id': os.environ.get('client_id'),
'client_secret': os.environ.get('client_secret'),
}
context_auth = AuthenticationContext(url=url)
context_auth.acquire_token_for_app(client_id=credentials['client_id'],
client_secret=credentials['client_secret'])
ctx = ClientContext(url, context_auth)
web = ctx.web
ctx.load(web)
file_name = f"vat check {datetime.now().strftime('%Y-%m-%d')}"
path = os.path.join("/tmp", file_name)
with open(path, 'rb') as content_file:
file_content = content_file.read()
list_title = "VAT Check"
target_folder = ctx.web.lists.get_by_title(list_title).rootFolder
# name = os.path.basename(path)
target_file = target_folder.upload_file(file_name, file_content)
ctx.execute_query()
print(f"File url: {target_file.serverRelativeUrl}")
๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด๊ฒ์ ๋ด๋ถ์ ์ผ๋ก ์ธ์ฆ์ ๊ดํ ๊ฒ์ด ์๋๋ผ ์ค๋ฅ์ฒ๋ผ ๋ณด์ด๊ฑฐ๋ ๋ญ๊ฐ ๋๋ฝ ๋์์ต๋๊น?
AttributeError: 'ClientContext' object has no attribute '_auth_context'
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ ๋ก์ปฌ์์ ํ ์คํธ ํ @vgrem ๋๋ถ์
์ธ์ฌ๋ง,
์ก์ ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค! ClientContext
์ ๋ฌํ ๋ AuthenticationContext
์ธ์คํด์ค๊ฐ ์์ค ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค.
๋ค๋ฅธ ํํธ์ผ๋ก, AuthenticationContext.acquire_token_for_app
๋ ์์ฆ _deprecated_๋ก ๊ฐ์ฃผ๋๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ์ต์
(_recommended_)์ ๋ค์์์ ์ ํํ๋ ๊ฒ์
๋๋ค.
context_auth = AuthenticationContext(url=url)
context_auth.acquire_token_for_app(client_id=credentials['client_id'],
client_secret=credentials['client_secret'])
ctx = ClientContext(url, context_auth)
์ผ๋ก
credentials = ClientCredential(credentials['client_id'], credentials['client_secret'])
ctx = ClientContext(settings['url']).with_credentials(credentials)
์ฌ์ ํ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ด์ ๊ฐ ๋ฌด์์ผ๊น์
ํจํค์ง๋ฅผ ์
๋ฐ์ดํธํด์ผ ํ ์๋ ์์ต๋๋ค. pip install --upgrade Office365-REST-Python-Client
@spurthikaribasaiah
@erfannariman ๋ฐ @vgrem ์๋ ํ์ธ์.
์์ ๋ช
๋ น์ผ๋ก ์๋ํ์ต๋๋ค. ๋๋ ์ฌ์ ํ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์๋ ์ฝ๋ ์ค ๋ํซ์ ์ฐพ์ผ์ญ์์ค. ์ฌ์ฉ์ ์๊ฒฉ ์ฆ๋ช
์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
pip ์ค์น-pip ์
๊ทธ๋ ์ด๋
pip ์ค์น Office365-REST-Python-Client
pip ์ค์น-Office365-REST-Python-Client ์
๊ทธ๋ ์ด๋
office365.runtime.auth.authentication_context์์ ๊ฐ์ ธ ์ค๊ธฐ AuthenticationContext
office365.sharepoint.client_context์์ ClientContext ๊ฐ์ ธ ์ค๊ธฐ
ctx_auth = AuthenticationContext (Sharepoint_SiteUrl)
ctx_auth.acquire_token_for_user (์ฌ์ฉ์, ํจ์ค)
ctx = ClientContext (Sharepoint_SiteUrl, ctx_auth)
์น = ctx.web
ctx.load (์น)
ctx.execute_query ()
print ( "์ธ์ฆ ์ฑ๊ณต")