Google Apps Script | Utilities.sleep в случае Exception: Не удалось найти запрошенный ресурс

Nov 25, 2020 21:46

Когда осваиваешь что-то новое, всегда сталкиваешься с такими ситуациями, когда у тебя просто вынос мозга от того, что что-то работает не так, как ожидаешь. И какой же восторг испытваешь, как обнаруживаешь мелкую, неочевидную проблему, из-за которой весь сыр-бор. И после устранения которой все начинает работать как надо.

Короче, я приспособил под свою систему авторизацию сервис контактов Google (см. ContactsApp). Но когда я перешел к регистрации, мне конечно потребовалась функция создания нового контакта, к которому я тут же прикручиваю пару-тройку пользовательских полей.

Но вот, незадача! При любой попытке добавить пользовательское поле в новом контакте выскакивает "Exception: Не удалось найти запрошенный ресурс". Что за ерунда?

Оказывается, все дело в том, что новый контакт не создается сервисом в одну секунду. На это уходит какое-то время. И нужно просто дать сервису закончить свою работу, и только потом уже добавлять пользовательские поля.

Короче, между командой создания сервиса и командами добавления пользовательских полей я вставил следующую команду:

Utilities.sleep(5 * 1000);

И все заработало. Вот, блин! А сколько нервов, переживаний :)

Почерпнул эту идею здесь: https://stackoverflow.com/questions/29659404/set-timeout-in-google-apps-scripts

lifehack, google apps script

Previous post Next post
Up