You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Sharepy v2.0在PyCharm中认证SharePoint Online时遇冻结及Token请求失败问题求助

解决Sharepy v2.0联合认证场景下的冻结与Token失败问题

我之前在处理GoDaddy托管的O365联合认证SharePoint站点时,也遇到过类似的Sharepy认证问题,结合你的情况整理了几个可行的解决方向:

一、解决PyCharm中的冻结问题

PyCharm的默认运行控制台在处理交互式输入时经常会出现兼容性问题,导致Sharepy的输入环节冻结,你可以试试这两个方法:

  1. 手动接管输入逻辑
    不要依赖Sharepy内置的交互式输入,改用Python原生的input()函数获取账号密码后传入,避免控制台交互冲突:
    import sharepy
    
    site_url = "你的SharePoint站点URL"
    username = input("请输入用户名: ")
    password = input("请输入密码: ")
    session = sharepy.connect(site_url, username=username, password=password)
    
  2. 开启终端模拟模式
    在PyCharm的运行配置中,找到Emulate terminal in output console选项并勾选,这样控制台会模拟原生终端的交互行为,解决输入冻结问题。

二、修复ADFS Token请求失败错误

针对GoDaddy的联合认证ADFS场景,Sharepy的自动认证逻辑可能无法正确识别端点,你可以尝试以下调整:

  1. 手动指定ADFS认证类
    跳过自动认证,直接初始化ADFS认证实例,明确告诉Sharepy使用联合认证流程:
    import sharepy
    from sharepy.auth.adfs import AdfsAuth
    
    site_url = "你的SharePoint站点URL"
    username = "完整用户名(如user@yourdomain.com)"
    password = "你的密码"
    auth = AdfsAuth(username, password)
    session = sharepy.SharePointSession(site_url, auth=auth)
    
  2. 手动指定ADFS服务器地址
    GoDaddy的ADFS端点可能和默认识别的不同,你可以通过浏览器登录SharePoint时抓包,找到ADFS的登录端点(通常格式为https://xxx.adfs.godaddy.com/adfs/ls/),然后手动传入:
    auth = AdfsAuth(username, password, adfs_server="https://你的ADFS服务器地址/adfs/")
    session = sharepy.SharePointSession(site_url, auth=auth)
    
  3. 升级依赖库
    Sharepy依赖requests库处理HTTP请求,旧版本的requests可能存在SSL或请求头处理的问题,执行升级命令:
    pip install --upgrade requests
    

三、其他排查建议

  • 关闭PyCharm的代理或全局VPN,这类工具可能会干扰ADFS的认证请求
  • 尝试在系统原生命令行(而非PyCharm控制台)运行脚本,排除IDE环境的影响
  • 确认用户名必须是完整的邮箱格式(user@domain.com),联合认证场景下不支持简写用户名

内容的提问来源于stack exchange,提问作者TxTechnician

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 01:03:10