LinkedIn API Marketing Developer平台AdAnalyticsV2中的分页失败

LinkedIn API Marketing Developer平台AdAnalyticsV2中的分页失败,linkedin,linkedin-api,Linkedin,Linkedin Api,我一直在尝试检索广告分析数据 API的输出似乎是使用分页来分割的。 所以我接着解释了如何在LinkedIn API中执行分页。但是,我一直遇到“不允许设置分页开始值”错误。当我请求第一页时不会发生这种情况,但每次请求“下一页”时,都会遇到错误 下面是我在Python中所做的: import requests # Define token, base_url, and parameters headers = {'Authorization':'Bearer ' + 'MY_TOKEN'} bas

我一直在尝试检索广告分析数据

API的输出似乎是使用分页来分割的。 所以我接着解释了如何在LinkedIn API中执行分页。但是,我一直遇到“不允许设置分页开始值”错误。当我请求第一页时不会发生这种情况,但每次请求“下一页”时,都会遇到错误

下面是我在Python中所做的:

import requests
# Define token, base_url, and parameters
headers = {'Authorization':'Bearer ' + 'MY_TOKEN'}
base_url = 'https://api.linkedin.com/v2/adAnalyticsV2/'
params = {
    'q': 'analytics',
    'dateRange.start.month': '4',
    'dateRange.start.day': '1',
    'dateRange.start.year': '2019',
    'timeGranularity': 'DAILY',
    'pivot': 'CREATIVE',
    'accounts':'MY_ACCOUNT',
    'campaignGroups': 'MY_CAMPAIGN_GROUP',
    'count':100,
}

# Get analytics data by paginating
url_stack = [base_url]
while url_stack:

    # Pop the url in the list, now the list is empty
    wurl = url_stack.pop()

    # Make request to API
    r = requests.get(wurl, params=params, headers=headers)

    if r.ok:
        print('Request success')
        print('URL of successful request:\n- {}\n'.format(r.url))
    else:
        print('Request fail')
        print('URL of failed request:\n- {}'.format(r.url))
        print('Request detail:\n- {}\n'.format(r.json()))

    # If paging information exists in the response,
    if 'paging' in r.json().keys():

        # Use the inforamtion for the next page by updating 'params' dict
        params['start'] = r.json()['paging']['start'] + r.json()['paging']['count']
        params['count'] = r.json()['paging']['count']

        # Append updated URL with next paging info
        url_stack.append(wurl)
下面是上面代码的输出:

# Output:
Request success
URL of successful request:
- https://api.linkedin.com/v2/adAnalyticsV2/?q=analytics&dateRange.start.month=4&dateRange.start.day=1&dateRange.start.year=2019&timeGranularity=DAILY&pivot=CREATIVE&accounts=MY_ACCOUNT&campaignGroups=MY_CAMPAIGN_GROUP&count=100

Request fail
URL of failed request:
- https://api.linkedin.com/v2/adAnalyticsV2/?q=analytics&dateRange.start.month=4&dateRange.start.day=1&dateRange.start.year=2019&timeGranularity=DAILY&pivot=CREATIVE&accounts=MY_ACCOUNT&campaignGroups=MY_CAMPAIGN_GROUP&count=100&start=100
Request detail:
- {'serviceErrorCode': 2, 'message': 'Setting a paging start value is not permitted', 'status': 400}
根据我的理解,如文档中所述-要对结果进行分页,请从起始值0和计数值N开始。要获得下一页,请将起始值设置为N,而计数值保持不变。后续页面从2N、3N、4N开始,依此类推。在传递第n页的请求时,我必须设置开始值,但不知何故,它没有达到我的预期效果

有没有人有类似的经历,有没有人可以分享如何解决这个问题? 或者,请随时在代码中指出我做错了什么


谢谢

因为我没有使用一个已经有数据的帐户,所以我无法自己测试它,但是我在文档中注意到,在响应的
分页
字段中,有一个嵌套的
链接
字段。这个字段可能包含一个用于分页的“下一个”链接吗?你自己解决过这个问题吗?@ChristianReall Fluharty嘿Christian,LinkedIn告诉我'AdAnalyticsV2'不支持分页,所以如果你有大数据要获取,试着先增加'count'的数量。如果这样做还不够,你可以试着把你想要的日期范围分成几个部分,然后一个一个地取出来。希望这有帮助。:)