各位大佬好,我想问下 获取对话列表中的history_day参数具体是起什么作用?
api提示这个参数是必须要填写的,但是我尝试将值设置为1~50,输出的结果并没有什么不同。
思路:
1、获取当前日期
2、计算昨天日期
3、设置开始时间和结束时间
4、获取范围内的数据,提取chat_id
'''
from config import base_url, app_id ,headers
from datetime import datetime, timedelta
import requests
import pytz # 用于处理时区
def get_yesterday_range(timezone='Asia/Shanghai'):
tz = pytz.timezone(timezone)
today = datetime.now(tz)
yesterday = today - timedelta(days=1)
start_time = yesterday.strftime('%Y-%m-%d') #+ ' 00:00:00'
end_time = yesterday.strftime('%Y-%m-%d') # + ' 23:59:59'
return start_time, end_time
def get_chat_ids(start_time,end_time,app_id):
history_day=1 #??????
Request_url = f'{base_url}/api/application/{app_id}/chat?history_day={history_day}&start_time={start_time}&end_time={end_time}'
response = requests.get(Request_url, headers=headers)
if response.status_code == 200:
# print(response.json())
response_data = response.json()
if isinstance(response_data.get('data'), list):
# 提取所有chat_id
return [item['chat_id'] for item in response_data['data'] if 'chat_id' in item]
else:
print('Error:', response_data.get('message'))
return None
else:
print('Error:', response.status_code)
return None
if __name__ == '__main__':
start_time, end_time = get_yesterday_range()
print(start_time, end_time)
chat_ids = get_chat_ids(start_time,end_time,app_id)
print(chat_ids)