小编Mit*_*h97的帖子

Google Gmail API,作为 .py 工作正常,但在作为 .exe 运行时抛出“googleapiclient.errors.UnknownApiNameOrVersion:名称:gmail 版本:v1”

该代码在 Pycharm 中完美运行,或者在运行 .py 文件时完美运行,但我需要该应用程序成为 .exe 文件才能在没有 python 的设备上运行。

我试图允许用户从 tkinter 窗口报告应用程序中的错误/提供反馈。然后反馈会通过 gmail-api 发送给我。

.exe 文件是由 pyinstaller 生成的(从虚拟环境内部运行)运行 exe 文件时,一切正常,直到:

service = build(serviceName='gmail',
                        version='v1',
                        credentials=creds,
                        discoveryServiceUrl="https://gmail.googleapis.com/$discovery/rest?version=v1")
Run Code Online (Sandbox Code Playgroud)

哪里生产

  File "googleapiclient\_helpers.py", line 134, in positional_wrapper
  File "googleapiclient\discovery.py", line 273, in build
  File "googleapiclient\discovery.py", line 387, in _retrieve_discovery_doc
googleapiclient.errors.UnknownApiNameOrVersion: name: gmail  version: v1
Run Code Online (Sandbox Code Playgroud)

单击 tkinter 按钮时执行以下代码。

gmail 代码几乎完全从 google gmail api 示例复制而来。

小代码片段:

from googleapiclient.discovery import build
from google_auth_oauthlib.flow import InstalledAppFlow
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
SCOPES = ['https://www.googleapis.com/auth/gmail.send']
def …
Run Code Online (Sandbox Code Playgroud)

python gmail google-api gmail-api

4
推荐指数
1
解决办法
2516
查看次数

标签 统计

gmail ×1

gmail-api ×1

google-api ×1

python ×1