"Недостаточное разрешение: у запроса недостаточно областей проверки подлинности."
Означает, что пользователь, с которым вы прошли проверку подлинности, не предоставил вашему приложению разрешение на выполнение того, что вы пытаетесь сделать.
Для метода files.create требуется, чтобы вы аутентифицировали пользователя с помощью одной из следующих областей:
в то время как ваш код, похоже, использует полный объем диска. Я подозреваю, что произошло то, что вы аутентифицировали своего пользователя, а затем изменили область действия в своем коде и не предлагали пользователю снова войти в систему и дать согласие. Вам необходимо удалить согласие пользователей из вашего приложения, либо попросив удалить его непосредственно в своем аккаунте Google, либо просто удалив учетные данные, которые вы сохранили в своем приложении. Это заставит пользователя снова войти в систему.
Существует также опция принудительного подтверждения приглашения для входа в Google, но я не являюсь python разработчиком, поэтому я не совсем уверен, как это сделать. это должно быть что-то вроде строки приглашения = «согласие» ниже.
flow = OAuth2WebServerFlow(client_id=CLIENT_ID,
client_secret=CLIENT_SECRET,
scope='https://spreadsheets.google.com/feeds '+
'https://docs.google.com/feeds',
redirect_uri='http://example.com/auth_return',
prompt='consent')
экран согласия
Если все сделано правильно, пользователь должен увидеть такой экран
Предлагая им предоставить вам полный доступ к их учетной записи привода
Token pickle
Если вы читаете учебник по Google здесь https://developers.google.com/drive/api/v3/quickstart/python вам нужно удалить token.pickle, который содержит сохраненное согласие пользователей.
if os.path.exists('token.pickle'):
with open('token.pickle', 'rb') as token:
creds = pickle.load(token)