python - django 中的 API 网址
问题描述
我从 Api Url 获取数据但我没有获取数据请帮助如何从 Api url 获取数据我不理解我正在按照页面执行我必须每隔一小时设置一个小时调度程序它应该改变页码,我将获取数据。但它无法正常工作,根据我的 API 文档https://api.kayzen.io/v1/reports/2641/report_results?end_date=2019-03-01&page=1&per_page=25&sort_direction=desc&start_date=2019-03-01像这样Url 的类型,我在晚上 12 点运行 api knw 七个小时后没有数据来,我有另一个门户网站他们的数据来了,我不明白如何获取数据请帮忙。
##Enter Code here:- this code i Wrote to take the data from 1 hours and its should change page number also then also its not working
def some_job():
global count
today = datetime.now().date()
#yest = '2021-06-04'
#start_date_obj = datetime.strptime(yest, '%Y-%m-%d').date()
#print('today', start_date_obj)
count+=1
print('pagno',count)
url = 'https://api.kayzen.io/v1/authentication/token'
myobj = {'grant_type': 'password',
'username': '',
'password': '',
}
headers = {
'Authorization': 'Basic YzQ2NWY5NjNmYTc0Y2YwZWE4MGRlMmFkZmI0MDQ1ZDJjN2IyNTU2ODpNU0tZc0ZHYUVsSUN4aU5M',
'Content-Type': 'application/x-www-form-urlencoded'
}
x = requests.post(url, data=myobj, headers=headers)
token = x.json()
token = (str(list(token.values())[0]))
# print('rrrr',token)
base_url = 'https://api.kayzen.io/v1/reports/336960/report_results?end_date={}&page={}&per_page=25&sort_direction=desc&start_date={}'.format(
today,str(count),today)
headers = {
'Authorization': 'Bearer {}'.format(token),
'Accept': 'application/json'
}
print('users url page',base_url,headers)
response = requests.get(base_url, headers=headers)
if response.status_code ==200:
print(response.status_code)
droplets = response.json()
X = droplets.get("data")
print('rr', len(X), type(X))
# end_date=request.get('end_date_obj')
# print('startdate',request.POST.get('start_date_obj'))
print('itemssssrrr', droplets.get("hour"))
for item in X:
# print('items',item.get("win_rate"))
campaign_id = item.get("campaign_id")
# print("campaign_id",campaign_id)
campaign_name = item.get("campaign_name")
wins = item.get("wins")
impressions = item.get("impressions")
clicks = item.get("clicks")
installs = item.get("installs").get("total").get("assisted") or 0
advertiser_spend = item.get("advertiser_spend")
bids = item.get("bids")
year = item.get("year")
month = item.get("month")
day = item.get("day")
# print('day',day)
hour = item.get("hour")
obj = CampaignDataBB.objects.create(campaign_id=campaign_id,
campaign_name=campaign_name,
wins=wins, impressions=impressions, clicks=clicks,
installs=installs,
advertiser_spend=advertiser_spend,
bids=bids, year=year, month=month, day=day,campaign_date=today,hour=hour)
print("ew bj creatwd :", obj)
else:
print("Request Post", response.status_code)
count =0
sch = scheduler()
sch.add_job(some_job, 'interval', hours=1)
sch.start()
### Result :- U can see rr 0 its coming my data isnot fetching anything before url its coming page number 7
[enter image description here][1]
### Another Portal Result:- This Is another portal My office mate the gave to calculate how data its coming every one hours.
[enter image description here][2]
[1]: https://i.stack.imgur.com/h1KmU.png
[2]: https://i.stack.imgur.com/e00a2.png
解决方案
推荐阅读
- r - ggplotly 扭曲标记大小和线条粗细,忽略 hjust/vjust
- javascript - Angular mat-table:每条记录多行,带有排序选项
- elasticsearch - Elastic Watcher 不返回结果
- android - vanniktech 的表情符号弹出窗口未显示
- javascript - powershell用php元素编写html
- java - 向类传递参数spring批处理作业时找不到或加载主类
- postgresql - Postgresql 全文搜索比 sqlite fts 搜索慢 8 倍
- css - 在 CSS 中绘制圆圈或使用 .pngs?
- excel - Excel VBA - 仅在 with 语句之后结束的 while 语句
- vba - 如何在 Outlook 自定义表单上检测周末?