在 python 中从 SparkPost / Heroku 获取 API 密钥

Getting API Key from SparkPost / Heroku in python

我已经在 heroku 上安装了 SparkPost。问题是我找不到 SparkPost 的任何设置来连接域或使用 API。更简单的方法似乎是使用 pip 安装 sparkpost 包,但是使用文档,我无法通过以下方式引入 API:

 sp = SparkPost()

sp = SparkPost(os.environ['API_KEY_SPARKPOST'])

前者报错如下:

SparkPostException: No API key. Improve message.

而后者,找不到任何环境变量。我进行了搜索,没有看到任何与 SparkPost 相关的环境变量。我没有在控制面板中找到任何 API 选项来找到一个。

对于 Heroku 附加组件,环境变量称为 SPARKPOST_API_KEY,这是默认使用的。假设您在本地 运行ning 这个,第一个示例中的问题是您的环境中可能没有 SPARKPOST_API_KEY。当您 运行 heroku local 时,它将在项目根目录中的名为 .env 的文件中加载变量。您需要通过执行以下操作来添加它:

heroku config:get SPARKPOST_API_KEY -s >> .env

您的第二个示例正是 python-sparkpost 库在幕后所做的,但 var 的名称是 SPARKPOST_API_KEY.

您可以在此处查看可用于 SparkPost 插件的所有环境变量列表:https://devcenter.heroku.com/articles/sparkpost#provisioning-the-add-on。您还可以 运行 heroku config 从命令行查看所有环境变量。

如果没有提供任何参数,将使用存储在环境变量 SPARKPOST_API_KEY.

中的 API 键创建 SparkPost 对象

要在 heroku 中设置环境变量,您可以使用以下 heroku toolbelt 命令:

heroku config:set SPARKPOST_API_KEY=<your-key-here>