import com.google.gdata.client.analytics.AnalyticsService;import com.google.gdata.client.analytics.DataQuery;import sample.util.SimpleCommandLineParser;import com.google.gdata.data.analytics.AccountEntry;import com.google.gdata.data.analytics.AccountFeed;import com.google.gdata.data.analytics.DataEntry;import com.google.gdata.data.analytics.DataFeed;import com.google.gdata.util.AuthenticationException;import com.google.gdata.util.ServiceException;
import java.io.IOException;import java.net.URL;import java.net.MalformedURLException;
public class AnalyticsClient {
private AnalyticsClient() {}
public static final String ACCOUNTS_URL = "https://www.google.com/analytics/feeds/accounts/default";
public static final String DATA_URL = "https://www.google.com/analytics/feeds/data";
private static void myTest() throws Exception{ AnalyticsService myService = new AnalyticsService("exampleCo-exampleApp-1"); myService.setUserCredentials("google 邮箱名称", "邮箱密码"); URL feedUrl = new URL(ACCOUNTS_URL); AccountFeed accountFeed = myService.getFeed(feedUrl, AccountFeed.class); for (AccountEntry entry : accountFeed.getEntries()) { String tableId = entry.getTableId().getValue(); System.out.println("/t" + entry.getTitle().getPlainText() + ": " + entry.getTableId().getValue()); DataQuery query = new DataQuery(new URL(DATA_URL)); query.setIds(tableId); query.setStartDate("2011-04-30"); query.setEndDate("2011-05-30"); //query.setDimensions("ga:browser"); query.setMetrics("ga:visits,ga:pageviews"); DataFeed dataFeed = myService.getFeed(query, DataFeed.class); for (DataEntry dentry : dataFeed.getEntries()) { // System.out.println("/tBrowser: " + dentry.stringValueOf("ga:browser")); System.out.println("/t/tVisits: " + dentry.stringValueOf("ga:visits")); System.out.println("/t/tPageviews: " + dentry.stringValueOf("ga:pageviews")); //System.out.println("/t/tBounce rate: " + dentry.longValueOf("ga:bounces") / (double) dentry.longValueOf ("ga:visits")); } } }
public static void main(String[] args) { AnalyticsService myService = new AnalyticsService("exampleCo-exampleApp-1"); try { myTest(); } catch (Exception e) { e.printStackTrace(); }
}
}