我正在从API请求数据,该API通过将额外的参数传递给URL来进行额外的过滤。我正在这样做,但要取回未经过滤的报告。
我正在使用的代码是
import requests
# prepare the url
API_KEY = '234-1234-1234-123-42134'
BASE_URL = 'https://hq.appsflyer.com/export/{appsflyer_id}/{endpoint}/{version}'
appsflyer_id = 'id123456789'
endpoint = 'in_app_events_report'
version = 'v5'
start_date = '2018-09-13'
end_date = '2018-09-19'
media_source = 'Apple Search Ads'
event_name = 'event name with spaces'
url = BASE_URL.format(appsflyer_id=appsflyer_id, endpoint=endpoint, version=version)
# additional filtering
params = {
'api_token': API_KEY,
'from': start_date, 'to': end_date,
'media_source': media_source,
'event_name': event_name,
}
r = requests.get(url, params=params)
问题在于,似乎我无法识别“ media_source”和“ event_name”参数,因为我要返回所有媒体源和所有事件名称。
我尝试检查该URL,但仍在运行
r.url
返回
这很奇怪,因为这不是我要建立的网址。
我尝试使用此代码
params = {
'api_token': API_KEY_STITCHFIX,
'from': start_date, 'to': end_date,
'media_source': media_source,
'event_name': event_name,
}
params = urllib.parse.urlencode(payload, quote_via=urllib.parse.quote)
r = requests.get(url, params=params)
基于this的答案,但是也没有用。
如果有帮助,API文档为here。
我的问题是: