我正在尝试向 mailchimp api 发送 POST 请求以将新成员添加到列表中,但我不断收到错误消息,指出缺少 api 密钥。当我发送一个 get 请求时,我将密钥包含在 URL 中并且它工作正常。
从 Mailchimp 文档看来,api 密钥应该是请求的一部分,而参数(email_address 和 status)应该是主体的一部分,但我不明白如何使用请求来做到这一点。(我知道 Python 有一个 mailchimp 模块,但我有一些自定义的事情要做,我想了解一下这个问题)
这是我试图开始的帖子:
import requests
url="https://us15.api.mailchimp.com/3.0/lists/xxxxx/members/"
header ={"Authorization":"apikey xxxxx",
"email_address":"test@gmail.com",
"status":"subscribed"}
r=requests.post(url,header)
print r.text
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:{"type":" http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/ ","title":"API Key Missing","status":401, "detail":"您的请求不包含 API 密钥。","instance":""}
我还尝试将此请求放在 Postman 中,您可以轻松地将标题和正文分开,但它给出了相同的响应。
我也使用 Mailchimp3 包尝试过它,但这给了我一个不好的要求。我使用的代码如下:
from mailchimp3 import MailChimp
client = MailChimp('edgar@mymailserver.nl', '{}-{}'.format('xxxxxxxxxxxxxxxxxxxxxxx','us15'))
client.lists.members.create('2be23de2cc', {'email_address': 'john.doe@example.com','status': 'subscribed'})
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误: requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://us15.api.mailchimp.com/3.0/lists/2be23de2cc/members
我有一个带电表读数的数据库.有时人们得到一个新的仪表,然后他们的原始仪表得到一个结束日期,新仪表得到一个开始日期,结束日期仍为NULL.这可能会在一年内多次发生,我想知道测量中是否存在差距.换句话说,我需要弄清楚结束日期1是否与开始日期2相同,依此类推.
样本数据:
cust_id meter_id start_date end_date
--------------------------------------------------
a 1 2017-01-01 2017-05-02
a 2 2017-05-02 Null
b 3 2017-01-01 2017-06-01
b 4 2017-06-05 Null
Run Code Online (Sandbox Code Playgroud)
这就是数据的样子,我要找的结果是,对于客户来说,仪表1的结束日期等于仪表2的开始日期.但是对于客户b,仪表的结束日期之间有4天. 3和仪表4的开始日期.这是我要标记的东西.
我找到的客户在我研究期间最多可能发生8次.我尝试了嵌套查询和非常复杂的案例,但即使我迷失了方向,所以我想知道是否有人知道如何更聪明地得到答案.