Модуль Google::Voice неожиданно сломался. Как включить диагностику?

У меня есть программа на Perl, которая работает уже пару лет. Он использует модуль Google::Voice (0.06) для обработки входящих и исходящих текстовых сообщений.

Недавно компьютер был перезагружен, и вдруг этот модуль возвращает null вместо входа в систему. На машине не было никаких программных изменений, просто перезагрузка.

Я все еще могу войти в учетную запись Google Voice на том же компьютере с помощью веб-браузера, так что это должен быть скрипт, который виноват.

У меня есть несколько вопросов:

  • Кто-нибудь еще переживает это?

  • Кто-нибудь знает о каких-либо изменениях в Google Voice, которые могут нарушить это?

  • Кто-нибудь уже занимается этим и есть ли у них исправление?

  • Есть ли способ включить диагностику, чтобы я мог понять это сам?


person Mike Lempriere    schedule 22.07.2016    source источник
comment
Может быть, проверить ваш скрипт на использование переменных среды (или других непостоянных данных)? Кроме того, попробуйте выполнить простейший вход в GV с помощью модуля. Если это не сработает, отредактируйте его в своем вопросе как минимально воспроизводимый пример   -  person Neil Slater    schedule 22.07.2016
comment
Пример приложения с модулем больше не будет работать — это всего две строки кода — создание нового объекта, а затем вызов метода входа в систему.   -  person Mike Lempriere    schedule 26.07.2016


Ответы (1)


Из того, что я вижу в источнике Google ::Voice, он не использует какой-либо официальный API. (На самом деле, нет ни одного.) Вместо этого он обращается к веб-интерфейсу. непосредственно для Google Voice, включая страницу входа.

Это плохо. Веб-интерфейс Google не является стабильным API, и, вероятно, что-то в нем изменилось с тех пор, как вы в последний раз запускали свой скрипт. Учитывая, что ваш скрипт продолжал работать, я бы предположил, что изменилась форма входа в систему — возможно, из соображений безопасности или для предотвращения автоматизации. (Один плохой знак: я вижу разметку для CAPTCHA в форме входа.)

К сожалению, я не могу предложить здесь простого решения. Если вам удобно возиться в браузере, вы можете попытаться исправить это самостоятельно… но не рассчитывайте на то, что он продолжит работать, поскольку Google может внести дополнительные изменения, которые намеренно или непреднамеренно снова сломают ваш скрипт. . Если вам нужен надежный API для доступа к данным телефона, вы можете рассмотреть возможность использования чего-то другого, кроме Google Voice, например Twilio< /а>.

person Community    schedule 23.07.2016
comment
Спасибо за хорошо изученный ответ! - person Mike Lempriere; 26.07.2016
comment
Черт, мне позвонили, и я не смог отредактировать свой ответ, поэтому новый ответ. Вы упомянули, что видели капчу в данных — не могли бы вы описать, как вы включили эту диагностику? С этим я, может быть, и сам разберусь... - person Mike Lempriere; 26.07.2016
comment
Форма входа: accounts.google.com/ServiceLogin — если вы просматриваете исходный код или открываете Интернет. инспектор в вашем браузере, вы найдете пару ссылок на CAPTCHA. Я не видел его при входе в систему вручную, но я не могу сказать, что может произойти, если вы нажмете его из скрипта. - person ; 26.07.2016