Interesting! Also, so is this: http://top.hatnote.com
---------- Forwarded message ---------- From: *Thomas Steiner* <[email protected]> Date: Tuesday, December 15, 2015 Subject: [Wiki-research-l] pageviews.js—A JavaScript Client Library for the Wikimedia Pageviews API for Node.js and the browser To: Research into Wikimedia content and communities < [email protected]> Cc: Analytics List <[email protected]> Dear all, First and foremost, thanks for making the Wikimedia Pageviews API available; your work is highly appreciated and super useful! As a modest "thank you", I am happy to release the JavaScript client library pageviews.js for Node.js and the browser to make working with this API easy for JavaScript developers. Please find the code and all instructions at [1]. The library adds some convenience functions (getting batch pageviews and limiting the number of results) that were inspired by Dan Andreescu's Python library [2] and is Promise-based: === var pageviews = require('pageviews'); // Getting pageviews for a single article pageviews.getPerArticlePageviews({ article: 'Berlin', project: 'en.wikipedia', start: '20151201', end: '20151202' }).then(function(result) { console.log(JSON.stringify(result, null, 2)); }).catch(function(error) { console.log(error); }); // Getting top-n items ranked by pageviews for multiple projects pageviews.getTopPageviews({ projects: ['en.wikipedia', 'de.wikipedia'], // Plural year: '2015', month: '12', day: '01', limit: 2 // Limit to the first n results }).then(function(result) { console.log(JSON.stringify(result, null, 2)); }).catch(function(error) { console.log(error); }); === On a more technical note—trying to be a good citizen [3]—the client library sets an identifying User-Agent header in Node.js mode. However, trying to set the corresponding X-User-Agent (note the "X-") header from a browser context (XMLHttpRequest cannot override the browser's intrinsic User-Agent for security reasons), this fails with an error message "Request header field X-User-Agent is not allowed by Access-Control-Allow-Headers in preflight response". Maybe you could change your CORS settings and include X-User-Agent in your Access-Control-Allow-Headers?! Hope this is useful. Thanks, Tom -- [1] pageviews.js: https://github.com/tomayac/pageviews.js [2] python-mwviews: https://github.com/mediawiki-utilities/python-mwviews [3] User-Agent requirement: https://wikimedia.org/api/rest_v1/?doc -- Dr. Thomas Steiner, Employee (blog.tomayac.com, twitter.com/tomayac) Google Germany GmbH, ABC-Str. 19, 20354 Hamburg Geschäftsführer: Matthew Scott Sucherman, Paul Terence Manicle Registergericht und -nummer: Hamburg, HRB 86891 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.29 (GNU/Linux) iFy0uwAntT0bE3xtRa5AfeCheCkthAtTh3reSabiGbl0ck0fjumBl3DCharaCTersAttH3b0ttom.hTtP5://xKcd.c0m/1181/ -----END PGP SIGNATURE----- _______________________________________________ Wiki-research-l mailing list [email protected] <javascript:;> https://lists.wikimedia.org/mailman/listinfo/wiki-research-l
_______________________________________________ Mobile-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mobile-l
