2015-06-05 7 views
8

मैं सेटअप करने के लिए, AppNexus reporting API साथ एकीकरण कोशिश कर रहा हूँ समस्याओं में भाग गया, और से वापस नहीं आश्चर्य है कि अगर StackOverflow समुदाय में किसी को साझा करने के लिए कुछ अंतर्दृष्टि है।आयाम AppNexus एपीआई

ऐपनेक्सस एपीआई में चलना है- हालांकि curl का उपयोग करना और यह काम के प्रकार, सिवाय इसके कि समूह/आयाम वापस नहीं आते हैं। यहाँ मैं क्या किया है:

# JSON file containing our credentials 
$ cat auth 
{ 
    "auth": { 
     "username" : "ourAppNexusApiUsername", 
     "password" : "ourSecretApiUserPassword" 
    } 
} 

वहाँ भी एक JSON एक प्रश्न युक्त फ़ाइल है:

एक फ़ाइल हमारे प्रमाणिकता वाली auth कहा जाता है नहीं है। "कॉलम" सूची में आयाम नोट:

# 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" 
    } 
} 

मैं प्रमाणित करने के लिए कर सकती हूं:

$ 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}}} 

मैं किसी दिए गए प्रकाशक के लिए रिपोर्ट का अनुरोध कर सकते हैं। यह रिटर्न एक 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}}} 

मैं रिपोर्ट डाउनलोड लेकिन दुर्भाग्य से, करने में सक्षम हूँ, रिपोर्ट समूहों याद कर रहे हैं:

$ 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 

मैं कल्पना है कि मैं पहला व्यक्ति नहीं हूँ इस सामना करने के लिए। कोई भी किसी भी विचार/सुझाव है?

संपादित करें:

मैं यह आसान परीक्षण करने के लिए बनाने के लिए एक quick & dirty Python script to a Github repo अपलोड की गई।

इसके अलावा, AppNexus जवाब दिया, ईमेल के माध्यम से:

ऐसा लगता है कि आप अपने हाथों कुछ प्रलेखन पर मोबाइल रिपोर्टिंग के लिए, बल्कि हमारे मानक प्रकाशक एनालिटिक्स रिपोर्ट की तुलना में मिला है। आप इस तरह "row_per" को "समूह" में बदल जाएगा: "

{ 
    "report": { 
     "format": "csv", 
     "report_interval": "yesterday", 
     "row_per": [ 
      "hour" 
     ], 
     "columns": [ 
      "imps_total" 
     ], 
     "report_type": "publisher_analytics" 
    } 
} 

मैं इस कोशिश की, लेकिन यह काम नहीं किया

+0

क्या आपके पास सीएलआई पहुंच भी है? शायद 'प्रबंधन-नेटजेज़ा-टेबल सूची' के साथ आप देख सकते हैं कि वास्तव में आपके पास ऐसे कॉलम हैं – avnr

+0

धन्यवाद @avnr। मैंने पहले एपनेक्स-क्ली का उपयोग नहीं किया है। अब कोशिश कर रहा हूँ –

+0

मैंने एक सेंटोस वीएम को स्पून-अप किया और दस्तावेज के प्रति सीएलआई स्थापित करने का प्रयास किया (https://wiki.appnexus.com/display/documentation/Yum+Repository+ कॉन्फ़िगरेशन +फाइल)। यह रेपो को हल करने में सक्षम नहीं था: 'होस्ट को हल नहीं किया जा सकता' yum.local.appnexus.net ' –

उत्तर

1

AppNexus console (AppNexus 'वेब यूआई) का उपयोग करता है। सामग्री प्रदान करने के लिए एक ही एपीआई।

यदि आप आउटपुट का उत्पादन करने में सक्षम हैं, तो आप एक रिपोर्ट चलाकर देख रहे हैं, तो आप 'ओपन एपीआई व्यूअर' पर क्लिक करके एपीआई कॉल को इंजीनियर कर सकते हैं। स्क्रीन। यही कारण है कि आप रिपोर्ट बनाने के लिए इस्तेमाल एपीआई मानकों दिखाएंगे।

1

AppNexus तकनीक लेखक यहाँ (महीने बाद!)। मैं बहुत यकीन है कि उदाहरण है कि पेज पर रिपोर्टिंग API कॉल गलत था हूँ (और मैं बस यह & # x2013 ठीक करने के बाद, आप इसे बाहर की जाँच कर सकते here)।

रिपोर्टिंग एपीआई परीक्षण से जुड़ी जानकारी के बाद मेरे समझ है जो:

  1. "बुरा" उदाहरण डॉक्स से काम नहीं करता है (जैसा कि आप ने कहा कि & # x2013; अब निर्धारित)
  2. आप जब तक आप डेटा ("row_per" का उपयोग करके) समूहबद्ध कर रहे हैं, तब तक समूहबद्ध व्यवहार प्राप्त करें, जिसे आपने स्पष्ट रूप से पूछा है ( "कॉलम" का उपयोग करके)।

दूसरे शब्दों में, आप "कॉलम" में डेटा क्षेत्रों के लिए पूछने के लिए और चाहिए तो समूह उन्हें (या अधिक होने की संभावना एक सबसेट) "row_per" का उपयोग। यहाँ उदाहरण मैं अद्यतन डॉक्स में प्रयोग किया जाता है:

{ 
    "report": { 
     "report_type": "publisher_analytics", 
     "report_interval": "yesterday", 
     "columns": [ 
      "geo_country", 
      "imp_type", 
      "placement", 
      "clicks", 
      "total_convs", 
      "publisher_revenue" 
     ], 
     "groups": [ 
      "geo_country", 
      "imp_type", 
      "placement", 
     "imps_total" 
     ], 
     "name": "Publisher Analytics - 10/30/2015" 
    } 
} 

मैं चारों ओर "बुरा" उद्धरण का इस्तेमाल किया क्योंकि मुझे यकीन है कि इसके बाद के संस्करण अगर यह हमारी एपीआई में एक बग या अपेक्षित व्यवहार है नहीं कर रहा हूँ - मैं कोशिश कर रहा हूँ अब हमारी इंजीनियरिंग टीम के साथ पता करें, लेकिन शुक्रवार दोपहर है, इसलिए मैं को बाद में फिर से जांच कर सकता हूं।

किसी भी मामले में, मैं उदाहरण the page पर के रूप में कुछ समय के लिए परीक्षण किया वास्तविक व्यवहार के अनुसार अपडेट कर दिया है।

दो और बातें:

  1. कि पेज हमारे नियमित प्रकाशक एनालिटिक्स रिपोर्ट के लिए है। यह मोबाइल-विशिष्ट नहीं है, हमने इसे अभी भी प्रकाशित किया है, इसलिए यह हमारे ग्राहकों के ग्राहकों के लिए बाहरी रूप से उपलब्ध होगा। भ्रम के लिए खेद है!

  2. आज दोपहर मेरे परीक्षण के अनुसार, "row_per" और "समूह" दोनों काम करते हैं, और एक ही व्यवहार प्रदर्शित करते हैं।

मैं आपकी मदद करने में शायद बहुत देर हो चुकी हूं, लेकिन उम्मीद है कि यह किसी के लिए उपयोगी है!

संबंधित मुद्दे