43 lines
1.4 KiB
Plaintext
43 lines
1.4 KiB
Plaintext
async def get_postpay_detail(ns={}):
|
|
|
|
baidu_id = ns.get('baidu_id')
|
|
pageno = int(ns.get('pageno'))
|
|
# 获取当前日期和时间
|
|
current_time = datetime.datetime.now()
|
|
|
|
days_ago = current_time - datetime.timedelta(days=20)
|
|
# 获取账单百度指定必须在同一个月内
|
|
if current_time.month != days_ago.month:
|
|
days_ago = datetime.datetime(current_time.year, current_time.month, 1)
|
|
|
|
# 将日期时间格式化为字符串
|
|
current_day = current_time.strftime("%Y-%m-%d")
|
|
days_ago_time = days_ago.strftime("%Y-%m-%d")
|
|
|
|
ns = {
|
|
"beginTime": days_ago_time,
|
|
"endTime": current_day,
|
|
"queryAccountId" : baidu_id,
|
|
"pageNo": pageno,
|
|
"pageSize": 100
|
|
}
|
|
method = 'POST'
|
|
ns_format = '&'.join(['%s=%s' % (k, v) for k, v in ns.items()])
|
|
url = 'https://billing.baidubce.com/v1/bill/resource/chargeitem?%s' % ns_format
|
|
header = {
|
|
"Host": "billing.baidubce.com"
|
|
}
|
|
header = await get_auth_header(method=method, url=url, header=header)
|
|
async with aiohttp_client.request(
|
|
method=method,
|
|
url=url,
|
|
headers=header,
|
|
json=ns) as res:
|
|
data_bill = await res.json()
|
|
return {
|
|
'status': True,
|
|
'data': data_bill
|
|
}
|
|
|
|
ret = await get_postpay_detail(params_kw)
|
|
return ret |