AppNexus API未返回的维度

Ale*_*ord 8 api rest

我正在尝试与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 参数。