Office365-rest-python-client: https://mycompany.sharepoint.com/sites/documentssite//_vti_bin/idcrl.svc рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреБрдХреАрдЬрд╝ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реБрдИ

рдХреЛ рдирд┐рд░реНрдорд┐рдд 5 рдЕрдЧре░ 2020  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vgrem/Office365-REST-Python-Client

рдирдорд╕реНрддреЗ,

рдореБрджреНрджреЗ рдХрд╛ рдкреНрд░рд╕рдВрдЧ

рдореИрдВ рд╕рдВрд╕реНрдХрд░рдг 2.1.7.post1 (рдкрд╛рдЗрдк рдлреНрд░реАрдЬ рдХреЗ рдЕрдиреБрд╕рд╛рд░) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ,
рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдХрдВрдкрдиреА рдХреЗ рд╢реЗрдпрд░рдкреЙрдЗрдВрдЯ рд╕реЗ рдПрдХреНрд╕реЗрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ (рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реАрдбрдореЗ рд╕реЗ рдирд┐рд░реНрдорд┐рдд) рд╣реИ:

from office365.runtime.auth.authentication_context import AuthenticationContext
from office365.sharepoint.client_context import ClientContext
from office365.sharepoint.file import File

url = 'https://mycompany.sharepoint.com/sites/documentssite/'

ctx_auth = AuthenticationContext(url)
if ctx_auth.acquire_token_for_user(username, password):
    ctx = ClientContext(url, ctx_auth)
    web = ctx.web
    ctx.load(web)
    ctx.execute_query()
    print("Web title: {0}".format(web.properties['Title']))

рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рдорд┐рд▓рддрд╛ рд╣реИ:
An error occurred while retrieving auth cookies from https://mycompany.sharepoint.com/sites/documentssite//_vti_bin/idcrl.svc

рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╡рд░рдг

рдореИрдВ рдбрд┐рдмрдЧ рдореЛрдб рдореЗрдВ рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдХрд░ рджреЗрдЦрд╛, рдХрд┐ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рд╡рд┐рдзрд┐ рд╕реЗ рдЖрддрд╛ рд╣реИ acquire_authentication_cookie рд╡рд░реНрдЧ рдХреЗ SamlTokenProvider
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд┐рдзрд┐ рдХреЛ federated=True рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП HTTP рдЕрдиреБрд░реЛрдз https://mycompany.sharepoint.com/sites/documentssite//_vti_bin/idcrl.svc рдкрд░ HEAD рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЙрд╕ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рдиреАрдЪреЗ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдВ рдпрд╣ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ:

     def acquire_authentication_cookie(self, security_token, federated=False):
        ...
        else:
            self._auth_cookies['SPOIDCRL'] = None
            session.head(self.__sts_profile.signInPageUrl,
                         headers={
                             'User-Agent': 'Office365 Python Client',
                             'X-IDCRL_ACCEPTED': 't',
                             'Authorization': 'BPOSIDCRL {0}'.format(security_token),
                             'Content-Type': 'application/x-www-form-urlencoded'
                         })
        logger.debug_secrets("session.cookies: %s", session.cookies)
        cookies = requests.utils.dict_from_cookiejar(session.cookies)
        logger.debug_secrets("cookies: %s", cookies)
        if not cookies:
            self.error = "An error occurred while retrieving auth cookies from {0}".format(self.__sts_profile.signInPageUrl)
            logger.error(self.error)
            return False

рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдХреЛрдИ рдХреБрдХреА рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рдВрджреЗрд╢ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред

рд╡реИрд╕реЗ, рдореБрдЭреЗ рд╡рд╣реА рд╕рдорд╕реНрдпрд╛ рддрдм рд╣реБрдИ рдЬрдм рдореИрдВрдиреЗ url рдХреЛ ' https://mycompany.sharepoint.com ' рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ред

рдЕрдЧрд░ рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рджрд┐рдпрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдмрддрд╛рдПрдВред
рдЖрдкрдХрд╛ рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рд╣реА рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж !

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЦрдмрд░реЗрдВ:

рдЬрдм рдореИрдВ рдХрд░реНрд▓ рдХреЗ рд╕рд╛рде https://mycompany.sharepoint.com/sites/documentssite//_vti_bin/idcrl.svc рдкрд░ HEAD рдЕрдиреБрд░реЛрдз рдХрд░рддрд╛ рд╣реВрдВ, рддреЛ рдореБрдЭреЗ https://mycompany.sharepoint.com/_vti_bin/idcrl.svc/ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛрдб: 307)ред

рддреЛ рдореИрдВрдиреЗ рдЗрд╕ рд▓рд┐рдВрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдореБрдЦ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛, рдореБрдЭреЗ рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рдорд┐рд▓реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд┐рд▓реА ...
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрджреНрджрд╛ рдореЗрд░реА рдХрдВрдкрдиреА рдХреА рддрд░рдл рд╕реЗ рдЖрдпрд╛ рд╣реИ..

рдЕрднрд┐рд╡рд╛рджрди!

рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

2.1.7.post1 рдЗрд╕ рд╕рдордп рдереЛрдбрд╝рд╛ рдкреБрд░рд╛рдирд╛ рд╣реИ, рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдПрдХ рдФрд░ рд╢реЙрдЯ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди _latest_ рд╕рдВрд╕реНрдХрд░рдг (рдЗрд╕ рд╕рдордп 2.1.10.1 ) рдХреЗ рд╕рд╛рде, рдЗрд╕реЗ GitHub рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

pip install git+https://github.com/vgrem/Office365-REST-Python-Client.git

рдпрд╛ рдПрдХ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╕реВрдЪрдХрд╛рдВрдХ рд╕реЗ

рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рддрдм рд╕реЗ рдХреБрдЫ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВрдиреЗ рдЕрдВрддрд┐рдо рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдпрд╣ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рд╣рд▓ рдХрд░рдирд╛ рдХрд╛рдлреА рдЖрд╕рд╛рди рдерд╛! :))
рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж :D

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕