Запись в Google Таблицу

Задача: получить имя и номер телефона пользователя и сохранить их в таблицу.

Шаг 1. Имеется простой агент "Секретарь".

Системный промпт:

Ты виртуальный секретарь, 
Спроси имя и номер телефона, после этого вызови функцию save_record_to_google_sheet

Шаг 2. В разделе Функции обязательно включите (если выключено) использование функций.

Создайте функцию save_record_to_google_sheet с описанием "Сохранить запись в Google Таблице".

Добавьте два параметра: name и phone_number.

Шаг 3. Найдите ваш JSON-ключ, полученный на этапе Подготовка Google аккаунта и получение ключа для интеграции

Прокрутите страницу вниз и включите Python Script.

Шаг 4. Удалите текущий код и вставьте подготовленный код:

def write_to_google_sheet():
    scope = [
        'https://www.googleapis.com/auth/spreadsheets',
        'https://www.googleapis.com/auth/drive'
    ]

    # Надо заменить данные на ваш JSON ключ
    json_data = {
        "type": "service_account",
        "project_id": "your_project_id",
        "private_key_id": "your_private_key_id",
        "private_key": "-----BEGIN PRIVATE KEY-----\nyour_private_key\n-----END PRIVATE KEY-----\n",
        "client_email": "your_service_account_email",
        "client_id": "your_client_id",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "your_client_cert_url"
}
    # Получаем ServiceAccountCredentials из структуры словаря
    debug("Получаем ServiceAccountCredentials")
    ServiceAccountCredentials = oauth2client['service_account']['ServiceAccountCredentials']
    # Авторизация
    creds = ServiceAccountCredentials.from_json_keyfile_dict(json_data, scope)
    client = gspread.authorize(creds)

    # Открытие таблицы
    sheet = client.open(table_name).sheet1
    data_to_append = [args.get("name", ""), args.get("phone_number", "")]
    
    # Запись данных
    sheet.append_row(data_to_append)
    global result
    result = {
            'status': 'success',
            'write': {
                'message': 'Данные успешно записаны',
                'data': data_to_append
            }
    }
table_name = 'Имя Вашей Таблицы' #тут прописываем имя таблицы
result ={}
write_to_google_sheet()

Код надо подготовить. Из файла с ключом скопируйте все что между фигурными скобочками и вставьте в json_data переменную

Не забудьте прописать имя вашей таблицы

table_name = 'Имя Вашей Таблицы' #тут прописываем имя таблицы

Пример таблицы: Таблица "Contacts" с двумя колонками: "Имя" и "Номер телефона".

Тест:

Оставьте в полях name и phone_number значения test_value , нажмите "Запустить тест"— и убедитесь, что запись появилась в таблице.

Можно проверить работу из диалога

Убедитесь что, что запись появилась в таблице.

Last updated