Autorizar com credenciais do usuário atual para o script Python acessando a lista do SharePoint usando NTLM
Eu tenho um script que verifica uma lista do SharePoint em busca de uma revisão de arquivo específica e retorna o resultado. Isso funciona bem, mas atualmente meu método de autorização exige que eu inclua minha própria senha no código para obter acesso à lista do SharePoint, o que não é ideal, pois as senhas precisam ser atualizadas com frequência e outros usuários podem potencialmente visualizar meus detalhes de login.
Alguém pode me indicar a direção certa para usar as credenciais de usuários atuais para acessar o site do SharePoint? Andei em círculos olhando para o ActiveDirectory, NTLM, SOAP etc. e não consigo decifrar qual deles é o método mais apropriado.
Estou usando o Python 2.7 e a função de trabalho é a seguinte:
import urllib2
from sharepoint import SharePointSite
from ntlm import HTTPNtlmAuthHandler
def read_sharepoint_list(current_project):
# my Windows credentials
username = "Domain\\user.name"
password = "my_password"
# the sharepoint info
site_url = "http://SharePoint/"
list_name = "My List"
# an opener for the NTLM authentication
passman = urllib2.HTTPPasswordMgrWithDefaultRealm()
passman.add_password(None, site_url, username, password)
auth_NTLM = HTTPNtlmAuthHandler.HTTPNtlmAuthHandler(passman)
# create and install the opener
opener = urllib2.build_opener(auth_NTLM)
urllib2.install_opener(opener)
# create a SharePointSite object
site = SharePointSite(site_url, opener)
sp_list = site.lists[list_name]
for row in sp_list.rows:
if current_project in row.Filename:
basecase_rev = row.Rev
return basecase_rev