首页 > 解决方案 > 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

标签: pythondjango-modelsdjango-rest-frameworkdjango-views

解决方案


推荐阅读