我有一个已经运行了几年的Perl程序。它使用Google::Voice
模块(0.06)来处理传入和传出的文本消息。
计算机最近重新启动,突然这个模块返回null而不是登录。机器上没有软件更改,只是重新启动。
我仍然可以使用网络浏览器登录同一台计算机上的Google语音帐户,因此必须是有问题的脚本。
我有几个问题:
还有其他人遇到过这种情况吗?
是否有人知道Google Voice的任何更改会破坏这一点?
是否有人已经在此并且他们有解决方法吗?
有没有办法启用诊断,所以也许我可以自己搞清楚?
答案 0 :(得分:3)
从我在the source for Google::Voice中看到的内容来看,它没有使用任何官方API。 (事实上,there is none。)相反,它正在直接访问Google Voice的网络界面,包括其登录页面。
这很糟糕。 Google的网络界面不是一个稳定的API,自上次启动脚本以来,它的某些内容可能已经发生了变化。鉴于您的脚本一直在运行,我的第一个猜测是改变的是登录表单 - 可能出于安全原因,或者为了防止自动化。 (一个不好的迹象:我在登录表单中看到了CAPTCHA的标记。)
不幸的是,我不能在这里提供任何简单的解决方案。如果您在浏览器中感到很舒服,可以尝试自行修复...但不要指望它继续工作,因为Google可能会进行进一步的更改,无论是有意还是无意,都会再次破坏您的脚本。如果您需要可靠的API来访问手机数据,您可能需要考虑使用Google语音之外的其他内容,例如Twilio。