У меня есть события (например, Ричмонд против Коллингвуда) и их соответствующие идентификаторы для данного соревнования, в моем случае AFL, однако при попытке получить идентификаторы рынка, связанные с этими событиями, API дает только идентификатор рынка конкуренции в видеответ.Как изменить мой запрос, чтобы эта информация также была указана?
Используемая мной библиотека Python: https://github.com/liampauling/betfair
Ниже приведен код, который я использую для 1. полученияидентификатор соревнования для afl, 2. получить идентификаторы событий и имена для всех матчей в этом соревновании, и 3. получить идентификаторы рынка для событий.
В [1]:
competition_id = client.betting.list_competitions(filter=filters.market_filter(event_ids=event_ids))[-1].competition.id
Выход [1]: 11897406
Вход [2]:
events = client.betting.list_events(
filter=filters.market_filter(
competition_ids=[competition_id]))
for event_result in events:
print(event_result.event.name, event_result.event.id)
Выход [2]:
AFL 28159788
Brownlow Medal 2019 28927640
Hawthorn v Western Bulldogs 29182265
North Melbourne v Brisbane 29182264
Gold Coast v Fremantle 29182266
Port Adelaide v Carlton 29182261
Favourites To Win 29203764
Geelong v Melbourne 29182263
West Coast v GWS 29182262
Sydney v Adelaide 29182257
Women's AFL 28113600
Essendon v St Kilda 29182258
AFL Round 2 Multis 29195364
Adelaide (W) v Carlton (W) 29199747
Вход [3]:
AFL_market_catalogue = client.betting.list_market_catalogue(filter=filters.market_filter(event_ids=event_ids),
market_projection=['EVENT', 'COMPETITION'])[0]
Out [3]:
{"marketId":"1.148783689","marketName":"Premiers 2019","totalMatched":293415.056733,"competition":{"id":"11897406","name":"AFL"},"event":{"id":"28159788","name":"AFL","countryCode":"AU","timezone":"GMT","openDate":"2099-01-01T00:00:00.000Z"}}
Как показано в выходных данных 3, возвращается только идентификатор MarketID - премьеры 2019 года, когда мне нужен Hawthorn v Western Bulldogs, Северный Мельбурн - Брисбен и т. Д.