HTTPError:HTTP错误401:未授权sendgrid与python集成

时间:2016-09-27 06:56:55

标签: python-2.7 sendgrid

def sendEmail(to,apNumber,paperType,zipedFile):

    sg = sendgrid.SendGridAPIClient(apikey=os.environ.get("API-KEY"))

    to_email = mail.Email( "to@email.com")
    from_email = mail.Email( "from@email.com" )
    subject = 'This is a test email'
    content = mail.Content('text/plain', 'Example message.')
    message = mail.Mail(from_email, subject, to_email, content)
    response = sg.client.mail.send.post(request_body = message.get())
    return response

4 个答案:

答案 0 :(得分:2)

设置环境变量。

要设置环境变量,请按照以下3个步骤进行操作

echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env

答案 1 :(得分:0)

我创建了一个新密钥,这解决了我的问题。确切的问题仍然未知。 因为它以前曾经起作用。

答案 2 :(得分:0)

我的错误是因为我使用了错误的密钥,实际上,创建Api密钥时需要使用第一次创建的密钥,无法再次编辑。因此,必须单击“创建 Api 密钥”按钮并使用此密钥

答案 3 :(得分:0)

我在 PHP 中收到“HTTP/1.1 401 未经授权”错误。查看屏幕截图。

enter image description here

我通过从 API 密钥中删除 getenv() 解决了这个问题。

替换:

$apiKey = getenv("SendGrid_API_Key");
$sendgrid = new \SendGrid($apiKey);

与:

$apiKey = ("SendGrid_API_Key");
$sendgrid = new \SendGrid($apiKey);