2016-07-22 6 views
1

Ich habe ein Perl-Programm, das seit ein paar Jahren läuft. Es verwendet das Modul Google::Voice (0.06), um eingehende und ausgehende Textnachrichten zu verarbeiten.Google :: Sprachmodul plötzlich gebrochen. Wie kann die Diagnose aktiviert werden?

Der Computer wurde kürzlich neu gestartet und plötzlich gibt dieses Modul null zurück, anstatt sich anzumelden. Es wurden keine Softwareänderungen an der Maschine vorgenommen, nur ein Neustart.

Ich kann mich immer noch auf dem gleichen Computer mit dem Webbrowser am Google Voice-Konto anmelden. Es muss also das Skript sein, das den Fehler verursacht.

Ich habe mehrere Fragen:

  • Ist jemand dies erlebt?

  • Sind Änderungen an Google Voice bekannt, die das Problem lösen könnten?

  • Ist schon jemand dran und haben sie eine Lösung?

  • Gibt es eine Möglichkeit, die Diagnose zu aktivieren, vielleicht kann ich es selbst herausfinden?

+1

Vielleicht überprüfen Sie Ihr Skript für die Verwendung von Umgebungsvariablen (oder andere nicht-persistente Daten)? Versuchen Sie auch, möglichst einfach mit dem Modul in GV zu loggen. Wenn das nicht funktioniert, bearbeiten Sie es in Ihrer Frage als [mcve] –

+0

Die Beispiel-App mit dem Modul wird nicht mehr funktionieren - es ist nur zwei Zeilen Code - neu ein Objekt, dann Aufruf der Login-Methode. –

Antwort

3

Von dem, was ich in the source for Google::Voice sehen kann, ist es, jede Art von offizieller API nicht verwenden. (In der Tat, there is none.) Stattdessen greift es direkt auf die Weboberfläche von Google Voice zu, einschließlich seiner Anmeldeseite.

Das ist schlecht. Die Weboberfläche von Google ist keine stabile API und wahrscheinlich hat sich etwas daran seit dem letzten Start Ihres Skripts geändert. Angesichts der Tatsache, dass Ihr Skript weiter ausgeführt wurde, würde ich als erstes annehmen, dass sich das Anmeldeformular geändert hat - wahrscheinlich aus Sicherheitsgründen oder um eine Automatisierung zu verhindern. (Ein schlechtes Zeichen: Ich sehe Markup für ein CAPTCHA im Login-Formular.)

Leider kann ich hier keine einfache Lösung anbieten. Wenn Sie sich in Ihrem Browser wohlfühlen, können Sie vielleicht versuchen, es selbst zu beheben ... aber zählen Sie nicht darauf, dass es weiter funktioniert, da Google möglicherweise weitere Änderungen vornehmen wird, die Ihr Skript entweder absichtlich oder unabsichtlich wieder zerstören . Wenn Sie eine zuverlässige API für den Zugriff auf Telefondaten benötigen, sollten Sie in Erwägung ziehen, etwas anderes als Google Voice zu verwenden, z. B. Twilio.

+0

Danke für die gut untersuchte Antwort! –

+0

Dang - bekam einen Anruf und konnte meine Antwort nicht weiter so neu beantworten. Sie haben erwähnt, dass in den Daten ein Captcha angezeigt wird. Können Sie beschreiben, wie Sie diese Diagnose aktiviert haben? Damit bin ich vielleicht selbst in der Lage, Dinge herauszufinden ... –

+0

Das Login-Formular lautet: https://accounts.google.com/ServiceLogin - wenn Sie die Quelle anzeigen oder den Web-Inspector in Ihrem Browser öffnen, finden Sie ein paar Verweise auf ein CAPTCHA. Ich habe keine gesehen, während ich mich manuell eingeloggt habe, aber ich kann nicht sagen, was passieren könnte, wenn man es von einem Skript aus trifft. – duskwuff

Verwandte Themen