R语言调用get_business_outlook()报端口占用错误求助
解决Microsoft365R调用
get_business_outlook()时的端口占用问题 问题重现
调用get_business_outlook()时触发以下错误:
> outlb <- get_business_outlook() Using authorization_code flow Creating Microsoft Graph login for default tenant Using authorization_code flow createTcpServer: address already in use Error in initialize(...) : Failed to create server
可行解决办法
手动指定认证端口
Microsoft365R默认使用随机端口,你可以直接指定一个未被占用的端口(如8888、9999),通过auth_args参数传入:outlb <- get_business_outlook( auth_args = list(port = 8888) )若该端口仍被占用,更换其他端口尝试即可。
Windows系统查找并释放占用端口
- 打开命令提示符(CMD),执行命令查看所有监听状态的端口:
netstat -ano | findstr /i "listening" - 记录目标端口对应的PID,打开任务管理器找到该PID对应的进程,执行命令强制结束:
taskkill /F /PID [进程PID号]
- 打开命令提示符(CMD),执行命令查看所有监听状态的端口:
macOS/Linux系统查找并释放占用端口
- 打开终端,执行命令查看端口占用情况:
lsof -i -P | grep LISTEN - 找到对应端口的进程ID,执行命令杀死进程:
kill -9 [进程PID号]
- 打开终端,执行命令查看端口占用情况:
规避RStudio端口冲突
若使用RStudio,可尝试:- 关闭并重新打开RStudio后再运行代码
- 进入
Tools -> Global Options -> Packages,修改HTTP port为不常用端口号,保存后重启RStudio
内容的提问来源于stack exchange,提问作者CataLiNa
相关产品推荐
相关产品推荐

