Office365-rest-python-client: Sharepoint ์˜จํ”„๋ ˆ๋ฏธ์Šค ์•ฑ ์ „์šฉ ์ธ์ฆ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2021๋…„ 04์›” 05์ผ  ยท  2์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: vgrem/Office365-REST-Python-Client

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„, ์ €๋Š” ์ œ ์ปดํ“จํ„ฐ์— ๋กœ์ปฌ ์…ฐ์–ดํฌ์ธํŠธ๋ฅผ ์ƒ์„ฑํ–ˆ์œผ๋ฉฐ ๊ท€ํ•˜์˜ ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๋‹ค์Œ ์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์ธ์ฆ์— ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์‚ฌ์šฉ์ž ์ธ์ฆ์— ๋Œ€ํ•œ IndexError๋ฅผ ์–ธ๊ธ‰ํ–ˆ์ง€๋งŒ ์ด ์˜ค๋ฅ˜๋Š” ์•ฑ ์ „์šฉ ์ธ์ฆ์„ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋ฉฐ ์™„์ „ํžˆ ๋‹ค๋ฅธ ์—ญ์ถ”์ ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

๋‚ด ์…ฐ์–ดํฌ์ธํŠธ๊ฐ€ Azure์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋‚ด ์…ฐ์–ดํฌ์ธํŠธ VM์˜ ๋กœ์ปฌ IP๋ฅผ site_url๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋งŒ๋“ค๊ณ  ๋ถ€์—ฌ

์ €ํฌ ํŒ€๊ณผ ์ €๋Š” ๋„์›€์„ ์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋ฅ˜:

IndexError                                Traceback (most recent call last)
<ipython-input-13-944e8be97f9f> in <module>
      5 site_url = "http://e3431a1d07c8.ngrok.io"
      6 ctx = ClientContext(site_url).with_credentials(ClientCredential('d6e22d2e-4fc6-43e1-920e-7dd7ac5d2fd0','nNCWQ+7Yo5Etyfu14kOvVegPlpy45q1tFe60A+TZSjk='))
----> 7 target_web = ctx.web.get().execute_query()
      8 print(target_web.url)
      9 

...

~/.local/lib/python3.8/site-packages/office365/runtime/auth/providers/acs_token_provider.py in process_realm_response(response)
     80             auth_values = response.headers[header_key].split(",")
     81             bearer = auth_values[0].split("=")
---> 82             return bearer[1].replace('"', '')
     83         return None
     84 

IndexError: list index out of range

์•”ํ˜ธ:

import json
from office365.runtime.auth.client_credential import ClientCredential
from office365.runtime.http.request_options import RequestOptions
from office365.sharepoint.client_context import ClientContext
site_url = "http://192.168.33.2"
ctx = ClientContext(site_url).with_credentials(ClientCredential('client-id','client-secret'))
target_web = ctx.web.get().execute_query()
print(target_web.url)
question

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์šฐ๋ฆฌ ํšŒ์‚ฌ๋Š” ๋˜‘๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. @vgrem์„ ์ข€ ๋ด์ฃผ์‹œ๊ฒ ์–ด์š”? ์šฐ๋ฆฌ๋Š” ์ •๋ง ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  2 ๋Œ“๊ธ€

์šฐ๋ฆฌ ํšŒ์‚ฌ๋Š” ๋˜‘๊ฐ™์€ ๋ฌธ์ œ์— ์ง๋ฉดํ•ด ์žˆ์Šต๋‹ˆ๋‹ค. @vgrem์„ ์ข€ ๋ด์ฃผ์‹œ๊ฒ ์–ด์š”? ์šฐ๋ฆฌ๋Š” ์ •๋ง ๋„์›€์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. @vgrem ๋ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰