Я получаю сообщение об ошибке pydevconsole при попытке заставить ezgmail работать. Как я могу это исправить? - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь инициализировать ezgmail, но он застревает в точке поиска токена. json файл. Сначала он выдает предупреждение о том, что не может найти файл token. json, а затем выдает следующую ошибку и зависает. Процесс, которому я следовал (я работаю в venv в PyCharm), выглядит следующим образом:

Выполненный процесс: выполнен вход в Google и включен Gmail API; переименовал его в TestEmails; Настройте клиент Oauth: я выбрал «Desktop App». Скопировал полученные учетные данные. json файл в папку проекта

Я даже скопировал файл quickstart.py в свой рабочий каталог и запустил его (python quickstart. ру) без проблем. затем: (at Python Console:) ::

>>>import os
>>>

Ошибка, которую я получаю, показана ниже:

import ezgmail
usage: pydevconsole.py [--auth_host_name AUTH_HOST_NAME]
                       [--noauth_local_webserver]
                       [--auth_host_port [AUTH_HOST_PORT [AUTH_HOST_PORT ...]]]
                       [--logging_level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
pydevconsole.py: error: unrecognized arguments: --mode=client --port=60056

Process finished with exit code 2

Любые идеи будут очень признательны, с удовольствием добавлю дополнительную информацию если полезно. Ура (я новичок, обращайтесь нежно!)

Ответы [ 2 ]

0 голосов
/ 04 августа 2020

Трудно ответить без фактического кода, который вы пытаетесь отладить. Но вот несколько предложений. попробуйте использовать абсолютные пути вместо относительных, если вы уже настроили и загрузили токен доступа для Gmail API.

если у вас возникли проблемы с созданием токена, возможно, попробуйте запустить код python из командной строки поэтому он будет использовать ваш браузер по умолчанию, чтобы перейти к экрану авторизации. У меня возникли проблемы с получением jupyter notebook, чтобы использовать мой браузер для открытия экранов авторизации.

следующий код взят из quickstart.py, и он должен показать вам, как сначала создается токен. json:

def main():
"""Shows basic usage of the Gmail API.
Lists the user's Gmail labels.
"""
creds = None
# The file token.pickle stores the user's access and refresh tokens, and is
# created automatically when the authorization flow completes for the first
# time.
if os.path.exists('token.pickle'):
    with open('token.pickle', 'rb') as token:
        creds = pickle.load(token)
# If there are no (valid) credentials available, let the user log in.
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)
    # Save the credentials for the next run
    with open('token.pickle', 'wb') as token:
        pickle.dump(creds, token)

service = build('gmail', 'v1', credentials=creds)
0 голосов
/ 26 мая 2020

по-видимому этот пост помог мне продвинуться немного дальше (все еще застрял, но дальше!). . . Это означало, что мне пришлось изменить один из пакетов, которые я установил. (oauth2client.tools). Так что я закрою это, если у кого-то еще не будет никаких идей.

...