Google Analytics API – JavaScript Data Feed / Export Data 基本接口
GoogleAnalytics.htm |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <title></title> <script src="http://code.jquery.com/jquery-latest.js"></script> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript" src="Scripts/gettingStarted.js"></script> <script type="text/javascript"> var start_date = "2012-03-20"; var end_date = "2012-03-22"; var table_id = "ga:57184484"; google.load('gdata', '2.x', {packages: ['analytics']}); google.setOnLoadCallback(init); $(document).ready(function () { $("#tableId").val(table_id); }); </script> </head> <body> <button id="authButton">Loading…</button> <div id="dataControls" style="display:none"> <p> <input type="text" id="tableId" value="" /> (insert Table ID) <button id="getData">Get Report Data</button> </p> </div> <div id="outputDiv"></div> <img src="dummy.gif" style="display:none;" alt="required for Google Data"/> <br /> <span id="result"></span> </body> </html> |
gettingStarted.js |
function init() { myService = new google.gdata.analytics.AnalyticsService('gaExportAPI_acctSample_v2.0'); scope = 'https://www.google.com/analytics/feeds'; $("#authButton").click(function () { if (!google.accounts.user.checkLogin(scope)) { google.accounts.user.login(scope); } else { google.accounts.user.logout(); getStatus(); } }); getStatus(); } function getStatus() { $("#getData").click(function(){ getDataFeed(); }); if (!google.accounts.user.checkLogin(scope)) { $('#dataControls').css("display", "none"); $('#authButton').html('Access Google Analytics'); } else { $('#dataControls').css("display", "block"); $('#authButton').html('Logout'); } } function getDataFeed() { // Data Feed URL var myFeedUri = 'https://www.google.com/analytics/feeds/data' + '?start-date=' + start_date + '&end-date=' + end_date + '&dimensions=ga:pageTitle,ga:pagePath' + '&metrics=ga:pageviews' + '&sort=-ga:pageviews' + '&max-results=10' + '&ids=' + $("#tableId").val(); $("#result").html(myFeedUri); myService.getDataFeed(myFeedUri, handleDataFeed, handleError); } function handleDataFeed(result) { var entries = result.feed.getEntries(); // Data Result 各 Dimensions & Metrics 既 Table Header var outputTable = ['<table cellpadding="2"><tr>', '<th style="padding-right:16px;">Page Title</th>', '<th style="padding-right:16px;">Page Path</th>', '<th style="padding-right:16px;">Pageviews</th></tr>']; for (var i = 0, entry; entry = entries[i]; ++i) { // Data Result 各 Dimensions & Metrics 既 數據 var row = [ entry.getValueOf('ga:pageTitle'), entry.getValueOf('ga:pagePath'), entry.getValueOf('ga:pageviews') ].join('</td><td style="padding-right:16px;">'); outputTable.push('<tr><td style="padding-right:16px;">', row, '</td></tr>'); } outputTable.push('</table>'); $("#outputDiv").html(outputTable.join('')); } function handleError(e) { var error = 'There was an error!\n'; if (e.cause) { error += e.cause.status; } else { error.message; } alert(error); } |