我正在尝试与AppNexus报告API进行集成,遇到问题,并想知道StackOverflow社区中是否有人有分享的洞察力.
AppNexus API有一个步行使用curl和它的排序工作,除了不返回组/维度.这是我做的:
有一个名为auth包含我们凭据的文件:
# JSON file containing our credentials
$ cat auth
{
"auth": {
"username" : "ourAppNexusApiUsername",
"password" : "ourSecretApiUserPassword"
}
}
Run Code Online (Sandbox Code Playgroud)
还有一个包含查询的JSON文件.请注意"列"列表中的维度:
# The query itself, in JSON format.
$ cat query.json
{
"report": {
"format": "csv",
"report_interval": "yesterday",
"groups": [
"publisher_id",
"imp_type",
"geo_country",
"placement_id"
],
"columns": [
"imps_total",
"imps_kept",
"imps_resold",
"publisher_filled_revenue",
"total_convs"
],
"report_type": "publisher_analytics"
}
}
Run Code Online (Sandbox Code Playgroud)
我可以验证:
$ curl -b cookies -c cookies -X POST -d @auth 'https://api.appnexus.com/auth'
{"response":{"status":"OK","token":"hbapi:133820:5571c87753c27:nym2","dbg_info":{"instance":"56.bm-hbapi.prod.lax1","slave_hit":false,"db":"master","parent_dbg_info":{"instance":"63.bm-hbapi.prod.nym2","slave_hit":false,"db":"master","parent_dbg_info":{"instance":"38.bm-api.prod.nym2","slave_hit":false,"db":"master","time":482.32913017273,"version":"1.15.279","warnings":[],"slave_lag":0,"start_microtime":1433520246.311},"awesomesauce_cache_used":false,"count_cache_used":false,"warnings":[],"time":1078.0298709869,"start_microtime":1433520246.2796,"version":"1.15.527","slave_lag":0,"output_term":"not_found"},"awesomesauce_cache_used":false,"count_cache_used":false,"warnings":[],"time":1360.9290122986,"start_microtime":1433520246.1491,"version":"1.15.527","slave_lag":1,"output_term":"not_found","master_instance":"63.bm-hbapi.prod.nym2","proxy":true,"master_time":1078.0298709869}}}
Run Code Online (Sandbox Code Playgroud)
我可以请求给定发布者的报告.它返回report_id:72734c3a2df81522c7bae6684cfdd65c
$ curl -b cookies -c cookies -X POST -d @query.json 'http://api.appnexus.com/report?publisher_id=510332'
{"response":{"status":"OK","report_id":"72734c3a2df81522c7bae6684cfdd65c","existing":false,"cached":true,"dbg_info":{"instance":"58.bm-hbapi.prod.lax1","slave_hit":false,"db":"master","reads":0,"read_limit":100,"read_limit_seconds":60,"writes":1,"write_limit":60,"write_limit_seconds":60,"parent_dbg_info":{"instance":"61.bm-hbapi.prod.nym2","slave_hit":false,"db":"master","reads":0,"read_limit":100,"read_limit_seconds":60,"writes":1,"write_limit":60,"write_limit_seconds":60,"awesomesauce_cache_used":false,"count_cache_used":false,"warnings":[],"time":264.3940448761,"start_microtime":1433520268.8354,"version":"1.15.527","output_term":"not_found","reporting_dbg_info":{"instance":"11.bm-report-processor.prod.nym2","version":"1.72.130","time":1094.5529937744,"start_microtime":1433520268,"warnings":[],"api_cache_hit":"0","output_term":null}},"awesomesauce_cache_used":false,"count_cache_used":false,"warnings":[],"time":1238.8980388641,"start_microtime":1433520267.9206,"version":"1.15.527","output_term":"not_found","master_instance":"61.bm-hbapi.prod.nym2","proxy":true,"master_time":264.3940448761}}}
Run Code Online (Sandbox Code Playgroud)
我可以下载报告,但遗憾的是,报告组丢失了:
$ curl -b cookies -c cookies 'http://api.appnexus.com/report-download?id=72734c3a2df81522c7bae6684cfdd65c'
imps_total,imps_kept,imps_resold,publisher_filled_revenue,total_convs
65086432,0,42898432,1234.776809,4
Run Code Online (Sandbox Code Playgroud)
我想我不是第一个遇到这种情况的人.有人有什么想法/建议吗?
编辑:
我上传了一个快速而肮脏的Python脚本到Github仓库,以便更容易测试.
此外,AppNexus通过电子邮件回复:
看起来您已经掌握了一些移动报告的文档,而不是我们的标准发布者分析报告.您应该将"groups"更改为"row_per",如下所示:"
{
"report": {
"format": "csv",
"report_interval": "yesterday",
"row_per": [
"hour"
],
"columns": [
"imps_total"
],
"report_type": "publisher_analytics"
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但它没有用.
小智 1
AppNexus 控制台(Appnexus 的 Web-UI)使用相同的 API 来提供内容。
如果您能够通过运行报告生成所需的输出,则可以通过单击屏幕底部的“打开 API 查看器”来对 API 调用进行逆向工程。这将向您显示用于创建报告的 API 参数。
| 归档时间: |
|
| 查看次数: |
1050 次 |
| 最近记录: |