Работя с много разочароващия Bing Ads Api (SOAP) и въпреки че изпълних успешно повечето SOAP заявки, от които се нуждая, последната ми създава проблеми.
Екипът там ми казва, че за да получа статистически данни за рекламни кампании (кликвания, импресии, реализации и т.н.), трябва да поискам генериране на отчет (да му предам параметрите), след което да взема reportID от отговора и да „анкетирам“ отчета с друга SOAP заявка, която дава URL адрес за изтегляне на zip файл.
Успешно направих всичко по-горе и URL адресът за изтегляне (който е добър само за 5 минути) изглежда така:
https://download.api.bingads.microsoft.com/ReportDownload/Download.aspx?q=k471B%2fhtf62jwhaelHhu0EqMSfWCvWSpOOBRu76%2bUC%2bgATLEobf%2bMYiVKX0CBOr52d95ViPXJeKbvAbnb%2bSK%2bGumYlSYQT80kTtt5waa5z%2fmbeXT%2fPFqde95DFR1%2b4yQgekl5T6gKipbMFcQJOn5aGYmtI1ALcREIwJRA%2bi%2b3jOE55Cl69TAzBOUWvB73NAKX6S0Y7zF%2bERnSu7TJnJfmqHopWihGtkeMzoqqwsJVgVDEKz84RrPPaDOs2pxg3qE%2bLSrEwu2cpa7bP%2f9t%2fjUVtIgiZMbMjzSf73VnAUSpYNz
Когато отида на този URL адрес, той започва да изтегля zip файл, който веднъж разархивиран, съдържа XML, който трябва да анализирам, за да докладвам на потребителите на уеб приложението, което създавам.
Въпросът ми е - Кой е най-добрият начин да получите този XML последователно в приложението? Това наистина изглежда като труден подход за приложението, като се има предвид, че всичко по-горе ще трябва да се извършва всеки път, когато потребител зареди страницата на Bing или промени диапазона от дати, но ми казват, че това е единственият начин да го направя.
Пътят, по който вървя, е да получа отчета с HTTParty и след това да разархивирам с RubyZip (бяха неуспешни поради проблеми с недефинирана грешка при преобразуване), но не съм сигурен какво да правя оттам нататък. Да се съхранява в база данни (може би временно)?
Всяка помощ ще бъде високо оценена.