【问题标题】:Getting API Key from SparkPost / Heroku in python在 python 中从 SparkPost / Heroku 获取 API 密钥
【发布时间】:2016-02-28 20:47:14
【问题描述】:

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

 sp = SparkPost()

或

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

前者给出以下错误:

SparkPostException: No API key. Improve message.

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

【问题讨论】:

    标签: python heroku sparkpost


    【解决方案1】:

    对于 Heroku 插件,环境变量称为 SPARKPOST_API_KEY,这是默认使用的。假设您在本地运行它,第一个示例中的问题是您的环境中可能没有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 从命令行查看所有环境变量。

    【讨论】:

    • 如果您想实时讨论这个问题或任何其他问题,请随时直接在 Slack 上与我们联系 - slack.sparkpost.com。
    • 谢谢 - 可能不止一个问题拼凑在一起。还有一种方法可以从前端获取 API。我看到了一些屏幕截图,用户体验有变化吗?
    • 您只能在创建时看到 API 密钥。如果您转到app.sparkpost.com/account/credentials,您可以在那里创建新密钥 - 创建后它会显示完整的复制密钥。
    【解决方案2】:

    当没有提供参数时,SparkPost 对象将使用存储在环境变量 SPARKPOST_API_KEY 中的 API 密钥创建。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-03
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 2020-05-31
      • 1970-01-01
      相关资源
      最近更新 更多