#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 каким-то образом повреждены, потому что полное уничтожение и сброс моего рабочего пространства, похоже, исправили это.