Google API:如何访问Google Analytics(分析)数据?
Google帳戶:要訪問Google Analytics(分析),用戶將需要一個Google帳戶,該帳戶使用戶可以登錄多個Google產(chǎn)品,例如Gmail,Blogger,Analytics,Adsense等。[user.01@gmail.com]。
Google Analytics(分析)帳戶:當(dāng)用戶想要訪問網(wǎng)絡(luò)分析功能時,他們需要注冊此服務(wù)。 這是代表分析帳戶的唯一ID。 用戶仍然可以使用其Google帳戶電子郵件地址進(jìn)行身份驗(yàn)證并登錄到Google Analytics(分析)帳戶服務(wù)。 [例如65421]
| Google Analytics(分析)示例帳戶 |
網(wǎng)站資源:網(wǎng)站資源可以稱為可以獨(dú)立跟蹤的一個網(wǎng)站。 如果該帳戶稱為AbcCompany,則一個網(wǎng)站資源可以是abc.com,它引用了用戶的個人網(wǎng)站,另一個網(wǎng)站資源可以是abcbiz.com,它引用了用戶的商業(yè)網(wǎng)站,另一個則可以是abc.mobi,它專門針對他的移動客戶。 帳戶下的網(wǎng)絡(luò)媒體資源將具有相同的帳號,但后綴不同。 例如,如果AbcCompany的帳戶ID是65421,則abc.com的網(wǎng)絡(luò)媒體資源可以是UA-65421-1,而abcbiz.com的網(wǎng)絡(luò)媒體資源可以是UA-65421-2。
| Google Analytics(分析)示例屬性 |
使用“屬性”選項(xiàng)卡創(chuàng)建新屬性:
| 創(chuàng)建一個新屬性 |
Google Analytics(分析)配置文件:每個網(wǎng)絡(luò)載體帳戶將至少具有一個Analytics(分析)配置文件。 該配置文件可以訪問所有分析數(shù)據(jù)和報(bào)告。 每個配置文件將具有唯一的配置文件ID。 配置文件可以具有多個目標(biāo),用戶,過濾器和資產(chǎn)。
| 個人資料 |
配置文件設(shè)置選項(xiàng)卡提供了配置文件ID和網(wǎng)站URL的詳細(xì)信息。配置文件可以有一個或多個用戶。
| 編輯配置文件設(shè)置 |
關(guān)系的詳細(xì)信息在下圖中突出顯示。
| GA用戶個人資料帳戶關(guān)系 |
什么是OAuth 2.0?
OAuth是授權(quán)的開放標(biāo)準(zhǔn)。 它允許用戶從一個位置到另一位置共享他們的資源,而無需共享憑據(jù)。 OAuth 2.0基于OAuth協(xié)議,但是它為Web應(yīng)用程序,桌面應(yīng)用程序,移動應(yīng)用程序等提供了新的身份驗(yàn)證功能,可幫助彼此對話。它們使用令牌而不是實(shí)際的用戶名和密碼來進(jìn)行交談并提供授權(quán)。
Google API與OAuth2.0有何關(guān)系?
Google API使用OAuth 2.0標(biāo)準(zhǔn)提供對其應(yīng)用程序的訪問。 Google使用此協(xié)議作為他們的身份驗(yàn)證和授權(quán),尤其是當(dāng)?shù)谌娇蛻舳讼M踩卦L問Google應(yīng)用程序數(shù)據(jù)時。 Google授權(quán)在幾個高級步驟中起作用:
a)向Google注冊應(yīng)用程序
b)將瀏覽器重定向到URL
c)從響應(yīng)中解析令牌 d)將令牌發(fā)送到Google授權(quán)服務(wù)器。 e)使用請求的訪問令牌獲取Google Analytics(分析)數(shù)據(jù)。
下圖描述了對Google服務(wù)器(在本例中為Analytics服務(wù)器)進(jìn)行身份驗(yàn)證和授權(quán)所遵循的步驟。
| Google Analytics(分析)架構(gòu) |
好了,所有介紹都結(jié)束了。 我們將采取行動。 到目前為止,我們已經(jīng)了解了Google Analytics(分析)數(shù)據(jù)的各種功能以及授權(quán)和認(rèn)證機(jī)制。 現(xiàn)在,我們將詳細(xì)介紹實(shí)現(xiàn)細(xì)節(jié)。 糟糕...仍然缺少一項(xiàng)。 這一切都是關(guān)于我們將從Google Analytics(分析)訪問哪些數(shù)據(jù)以及它們之間的關(guān)系。
維度與指標(biāo)
| 維度與指標(biāo) |
簡單來說,Google Analytics(分析)中的Dimension代表報(bào)告中的行,而metrics則代表列。 例如,維度是指國家/地區(qū),瀏覽器,流量來源,而指標(biāo)是指訪問,新訪問者,交易等。
那么我們要如何處理所有這些細(xì)節(jié)?
問題陳述:我們正在嘗試創(chuàng)建一個獨(dú)立的應(yīng)用程序,該應(yīng)用程序?qū)L試使用OAuth 2.0協(xié)議并從Google Analytics(分析)中獲取數(shù)據(jù)。
解:
步驟1:下載并導(dǎo)入Jar文件
首先,我們需要下載并導(dǎo)入以下jar文件:
下載位置: Google客戶端API
- google-api-client-1.8.0-beta.jar –包含Google Analytics(分析)的Core API代碼
- google-oauth-client-1.8.0-beta.jar –包含OAuth客戶端代碼
- gson-2.1.jar – Java庫,用于將JSON轉(zhuǎn)換為Java對象,反之亦然
- guava-11.0.1.jar –這個jar包含幾個Google的核心庫,例如集合,緩存,原始支持,通用注釋,字符串處理
- jackson-core-asl-1.9.4.jar –這是高性能的JSON處理器
步驟2:向Google注冊客戶應(yīng)用程序
每個應(yīng)用程序都必須向Google API注冊,以便我們在身份驗(yàn)證和授權(quán)過程中使用OAuth 2.0令牌。 要注冊應(yīng)用程序,用戶必須登錄Google帳戶并轉(zhuǎn)到Google API控制臺 。
在Google API控制臺中,使用左側(cè)菜單創(chuàng)建一個新項(xiàng)目。
| 創(chuàng)建一個新項(xiàng)目 |
使用“服務(wù)”標(biāo)簽啟用Analytics API,以便可以對其進(jìn)行訪問。
| 啟用Analytics API |
在“ API訪問”標(biāo)簽中,創(chuàng)建OAuth 2.0客戶端ID。
| 創(chuàng)建OAuth客戶端ID |
創(chuàng)建客戶ID的品牌信息
| 創(chuàng)建品牌信息 |
選擇應(yīng)用程序類型。 在我們的示例中,我們選擇通常在本地系統(tǒng)上運(yùn)行的“已安裝的應(yīng)用程序”。
| 選擇應(yīng)用類型 |
API控制臺摘要提供了客戶端ID和客戶端密鑰的詳細(xì)信息。
| Google API控制臺摘要 |
步驟3:授權(quán)要求
注冊將為您的應(yīng)用程序提供clientId和clientSecret值,以便它可以與Google API一起使用。 此密鑰將避免客戶端應(yīng)用程序共享用戶名或密碼,而是使用這些密鑰。
當(dāng)執(zhí)行客戶端應(yīng)用程序時,它會提示用戶允許訪問,并將用戶重定向到Google URL,后者提供了授權(quán)代碼。 授權(quán)代碼被反饋到客戶端應(yīng)用程序,然后使用該代碼獲取訪問令牌。
第4步:訪問Google Analytics(分析)用戶數(shù)據(jù)
客戶端應(yīng)用程序使用訪問令牌來獲取Google Analytics(分析)用戶的數(shù)據(jù)。
<< GA示例下載代碼 >>
示例代碼說明:
從Google API控制臺收到的Client ID和Client Secret值需要在程序中復(fù)制到此處。
生成將用于獲取授權(quán)碼的URL。
String authorizationUrl = new GoogleAuthorizationRequestUrl(CLIENT_ID,REDIRECT_URL, SCOPE).build();此處,REDIRECT_URL表示授權(quán)服務(wù)器將用戶代理重定向到最終用戶授權(quán)步驟已完成的絕對URI路徑,而SCOPE表示表示的訪問請求的范圍。 一旦執(zhí)行了應(yīng)用程序,即會生成URL。 該網(wǎng)址將詢問Analytics(分析)帳戶用戶是否可以允許訪問以獲取授權(quán)碼。 授權(quán)碼生成后,將在客戶端應(yīng)用程序中使用它來訪問Google API令牌。
從控制臺讀取授權(quán)代碼:
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));使用授權(quán)碼訪問OAuth 2.0令牌:
AccessTokenResponse response = new GoogleAccessTokenRequest.GoogleAuthorizationCodeGrant(netHttpTransport, jacksonFactory, CLIENT_ID, CLIENT_SECRET,authorizationCode, REDIRECT_URL).execute();初始化Analytics服務(wù)對象:
Analytics analytics = Analytics.builder(netHttpTransport, jacksonFactory).setHttpRequestInitializer(googleAccessProtectedResource).setApplicationName(APPLICATION_NAME).build();獲取個人資料詳細(xì)信息:
Profiles profiles = analytics.management().profiles().list("~all", "~all").execute();使用API??查詢獲取Google Analytics(分析)數(shù)據(jù):
Get apiQuery = analytics.data().ga().get("ga:" + profile.getId(), // Table ID ="ga"+ProfileID"2012-03-21", // Start date"2012-05-04", // End date"ga:visits"); // Metrics設(shè)置過濾器:
apiQuery.setFilters("ga:medium==referral"); apiQuery.setMaxResults(100);執(zhí)行查詢:
GaData gaData = apiQuery.execute();然后可以使用retrieveData()方法從GaData對象中檢索數(shù)據(jù)。
public static void retrieveData(GaData gaData) { // Get Row Data if (gaData.getTotalResults() > 0) { // Get the column headers for (ColumnHeaders header : gaData.getColumnHeaders()) { System.out.format("%-20s", header.getName() + '(' + header.getDataType() + ')'); } System.out.println(); // Print the rows of data. for (List<String> rowValues : gaData.getRows()) { for (String value : rowValues) { System.out.format("%-20s", value); } System.out.println(); } } else { System.out.println("No data available"); } }如果您想進(jìn)一步了解Google Analytics(分析),可以參考我們的文章“ All about Google Analytics(分析) ”。
參考: Google API:如何訪問Google Analytics(分析)數(shù)據(jù)? 從我們的JCG合作伙伴 Mainak Goswami在Idiotechie博客上獲得。
翻譯自: https://www.javacodegeeks.com/2012/07/google-api-how-to-access-analytics-data.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Google API:如何访问Google Analytics(分析)数据?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 与Maven 3,Failsafe和Ca
- 下一篇: 手机卡打不进来也打不出去怎么办