Выдаются рандомные строки из рекламного кабинета ВК по API, а надо все

Я обращаюсь через API в рекламный кабинет ВК, чтобы автоматизировать автоотправку отчётов в Telegram-бот. Но он выдаёт рандомные строки из всей статистики, а нужны все данные.

Как решить эту проблему?

import oauth2client
import pandas as pd
import requests
import gspread
import time
import telegram
import io

def telegram_report(chat=None):
    chat_id = chat or 726885196 
    bot = telegram.Bot(token='передаю токен бота')
    
    token = 'передаю токен рекламного кабинета'
    version = 5.103
    id_rk = 1606907256
    
    campaign_ids = []
    ads_ids = []
    r = requests.get('https://api.vk.com/method/ads.getAds', params={
        'access_token': token,
        'v': version,
        'account_id': id_rk
    })
    data = r.json()['response']
    
    ad_campaign_dict = {}
    for i in range(len(data)):
        ad_campaign_dict[data[i]['id']] = data[i]['campaign_id']
        
    ads_campaign_list = []
    ads_id_list = []
    ads_impressions_list = []
    ads_clicks_list = []
    ads_spent_list = []
    ads_day_start_list = []
    ads_day_end_list = [] 

    for ad_id in ad_campaign_dict:
            r = requests.get('https://api.vk.com/method/ads.getStatistics', params={
                'access_token': token,
                'v': version,
                'account_id': id_rk,
                'ids_type': 'ad',
                'ids': ad_id,
                'period': 'overall',
                'date_from': '0',
                'date_to': '0'
            })
            try:
                data_stats = r.json()['response']
                for i in range(len(data_stats)):
                    for j in range(len(data_stats[i]['stats'])):
                        ads_impressions_list.append(data_stats[i]['stats'][j]['impressions'])
                        ads_clicks_list.append(data_stats[i]['stats'][j]['clicks'])
                        ads_spent_list.append(data_stats[i]['stats'][j]['spent'])
                        ads_day_start_list.append(data_stats[i]['stats'][j]['day_from'])
                        ads_day_end_list.append(data_stats[i]['stats'][j]['day_to'])
                        ads_id_list.append(data_stats[i]['id'])
                        ads_campaign_list.append(ad_campaign_dict[ad_id])
            except KeyError:
                continue
 
    df = pd.DataFrame()
    df['campaign_id'] = ads_campaign_list
    df['ad_id'] = ads_id_list
    df['impressions'] = ads_impressions_list
    df['clicks'] = ads_clicks_list
    df['spent'] = ads_spent_list
    df['day_start'] = ads_day_start_list
    df['day_end'] = ads_day_end_list   
    
    file_object = io.BytesIO()
    df.to_excel(file_object)
    file_object.name = 'test_file.xlsx'
    file_object.seek(0)

    bot.sendDocument(chat_id=chat_id , document = file_object)  
    
try:
    telegram_report()
except Exception as e:
    print(e)

Ответы (0 шт):