Как сделать копию гугл таблицы но чтобы у каждого юзера она была разной при вводе почты на gspread?

Я хочу сделать телеграмм бота который будет учитывать финансы. Использую язык Python и библиотеку gspread, aiogram. Основная задача, это вписывать расходы и доходы и чтобы они записывались в гугл таблицу.

Я создаю таблицу и начинаю прописывать свой код

import gspread
from oauth2client.service_account import ServiceAccountCredentials

import time
import settings

time = str(time.strftime("%d/%m/%Y"))

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

creds = ServiceAccountCredentials.from_json_keyfile_name('creds.json', scope)
client = gspread.authorize(creds)
open_sheet = client.open(settings.SHEET_NAME)


def copy_sheet():
    copy_sheet = client.copy(open_sheet.id, title='Учет Финансов')
    return copy_sheet

Это питон файл от гугл таблицы, затем я импортирую ее в основной файл с ботом.

import spreadsheet as sp
from aiogram import Bot, Dispatcher, executor, types
import time

API_TOKEN = Здесь токен бота

logging.basicConfig(level=logging.DEBUG)

bot = Bot(token=API_TOKEN)
dp = Dispatcher(bot)

spreadsheet_url = "https://docs.google.com/spreadsheets/d/%s" % + здесь надо вставить ссылку на таблицу

regex = '^[a-z0-9]+[\._]?[a-z0-9]+[@]\w+[.]\w{2,3}$'


@dp.message_handler(commands=['start'])
async def start(message: types.Message):
    await message.answer('Введите вашу почту')


@dp.message_handler(content_types=['text'])
async def email(message: types.Message):
    sp.copy_sheet()
    copy_sheet.permission(email, perm_type='user, role='writer')
    await message.answer('Создаю гугл таблицу...')
    time.sleep(2)
    await message.answer('Таблица создана: ' + spreadsheet_url)


if __name__ == '__main__':
    executor.start_polling(dp, skip_updates=True)

Все создается и присылается ссылка, но есть одно но, каждый раз когда новый юзер вводит свою почту он получает тот же самый url, то есть копия таблицы создается один раз. Как сделать так что бы он был другим для новых юзеров ?* Буду рад любой помощи.


Ответы (0 шт):