401 unauthorized_client
Означает, что ваш код не был авторизован. Если вы хотите получить доступ к личным данным пользователя, вам необходимо войти в систему. Для доступа к API Google вашему коду необходим токен доступа.
Что вам следует сделать, это авторизовать свой код один раз с помощью Oauth2 в браузере, сохранить токен обновления где-нибудь и попросить, чтобы задание cron прочитало токен обновления и запросило новый токен доступа до его запуска.
Предполагая, что у вас есть учетная запись, которую вы пытаетесь вставить в нее, вы также можете рассмотреть возможность использования служебной учетной записи.
Обновить токен
Если вы храните токен обновления в базе данных, вы должны назначить его своему клиенту, прежде чем запускать здесь свой код. Я делаю это с токеном обновления, хранящимся в переменной сеанса.
$client->refreshToken($_SESSION['refresh_token']);