我一步一步地跟着Google's Quickstart for Python。每一步我都一丝不苟,经常复制和粘贴。我肯定启用了Google日历API。我已经用Pip安装了Google客户端库。我已经设置了示例代码和凭证.json在它自己的文件夹中。那么,为什么我运行它时会出现这个错误:
"OSError: [WinError 10013] An attempt was made to access a socket in a way forbidden by its access permissions"
为了解决这个问题,我已经learned what a socket is。(它实际上是IP地址和单个端口的组合)。我有learned how to use netstat,但我还不知道这是如何应用于我正在做的事情。我研究过根据this question中的答案使用ShellExecuteEx,但我不知道如何在Python中使用它。在
我尝试将this question的已接受答案中的脚本添加到一个管理员py归档并导入管理员py编写脚本到快速入门.py. 更新后管理员py编写python3语法脚本并运行快速入门.py,Windows 8.1询问我是否允许访问。我说是的,但它仍然给了我一个禁止访问套接字的OSError(winerror10013)。UAC不是问题所在。在
我怀疑这是一个端口冲突,有东西已经在使用Google脚本试图使用的端口。但我担心端口是由一个黑盒函数决定的,我无法更改它。错误本身并没有说明它使用的是哪个端口,所以我需要做更多的研究。在
这是港口问题。在
您将看到第369行(在撰写本文时)说
self, host='localhost', port=8080,
。在当我看netstat时,它实际上说这个端口正在使用中,可能是我从未关闭过的Apache服务器。在
self, host='localhost', port=8090,
。在我跑了快速入门.py再次编写脚本,然后弹出验证我的Google帐户的窗口。在
我选择了我的账户,它成功了。别乱动管理的东西。在
我很高兴我能像这样找到它,因为我认为端口是以某种黑盒方式选择的,就像它是从Google的服务器上决定的一样。在
相关问题 更多 >
编程相关推荐