Бот discord на Python, вызывающий проблему с API Google Sheets

#python #api #google-sheets

#python #API #google-sheets

Вопрос:

Теперь я случайно сталкиваюсь со странной ошибкой в моем боте discord. Он использует python и просто вызывает API Google Sheets и печатает информацию, которую он находит в диапазоне ячеек. В настоящее время он запущен на Raspberry pi в другой комнате, и там он работает нормально, но я не могу нигде создать другой экземпляр бота, поэтому я боюсь перезапустить Raspberry pi (на случай, если он не сможет снова войти в систему). Раньше у меня было несколько запущенных экземпляров бота, так что это меня немного смущает.

Вот код для авторизации:

 import pickle
import os.path    
from googleapiclient.discovery import build    
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request   
from discord import Game

SCOPES = ['https://www.googleapis.com/auth/spreadsheets.readonly']
SAMPLE_SPREADSHEET_ID = 'my spreadsheet'    
SAMPLE_RANGE_NAME = 'league!A2:R'     
TOKEN = 'Token generated a while back'

client = discord.Client()
channel = client.get_channel('my channel')
@client.event
async def on_message(message):
    
    if os.path.exists('token.pickle'):
        with open('token.pickle', 'rb') as token:
            creds = pickle.load(token)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'credentials.json', SCOPES)
            creds = flow.run_local_server(port=0)
        with open('token.pickle', 'wb') as token:
            pickle.dump(creds, token)
  

Ошибка

Я потратил некоторое время на изучение того, в чем может быть проблема, и в нем говорилось, что, возможно, что-то не так с токеном аутентификации Google Sheets, но ни одно из предложенных исправлений, похоже, не сработало. Я был бы очень признателен за любую помощь в этом, потому что я довольно новичок в python.

Комментарии:

1. Вы пробовали использовать API Explorer, чтобы проверить, правильные ли у вас параметры при отправке запроса? А также, в какой строке происходит сбой кода?

2. Я заглянул в документацию API и полностью сбросил свою рабочую область (удалил python и переустановил все необходимые файлы), и теперь он работает. Я думаю, что один из файлов поврежден или что-то в этом роде. Спасибо, что ответили.

Ответ №1:

Должно быть, файлы pip и GoogleAPI каким-то образом повреждены, потому что полное уничтожение и сброс моего рабочего пространства, похоже, исправили это.