2016年1月7日 星期四

[Google] Google Analytics Api 使用教學3 (step by step)


前言 : 在第一篇、第二篇我們已經取得金鑰並設定好網站資訊,也把追蹤碼放到我們的網站上,現在我們要在後端利用google 做好的api 去取得該網站的存取token囉

步驟一 : 到你的專案打開nuget 並下載Google.Apis.Analytics…..這個套件,他會連同相關連的dll一起載入
2016-01-07_173356
步驟二 : 我這裡是用.net mvc 示範,所以直接在隨意的Controller內建立一個Action,並填入以下程式碼
/// 
/// Google Analytics
/// 
/// 
public string GetGoogleAnalyticsToken()
{
 // Downloaded from https://console.developers.google.com
 //將自己的金鑰.p12檔放到app_data
 string[] scopes = new string[] { AnalyticsService.Scope.AnalyticsReadonly }; // view and manage your Google Analytics data
 var keyFilePath = HttpContext.Server.MapPath("~/App_Data/你的金鑰檔案名稱.p12");
 var serviceAccountEmail = "你的服務帳號信箱";

 //loading the Key file
 var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable);
 var credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail)
 {
  Scopes = scopes
 }.FromCertificate(certificate));

 //取得token
 string AuthenticationKey = "";
 if (credential.RequestAccessTokenAsync(CancellationToken.None).Result)
 {
  AuthenticationKey = credential.Token.AccessToken;
 }

 return AuthenticationKey;
}

注意 :
  • 把金鑰放到app_data (看個人習慣)
  • 更改程式碼中的金鑰位置與名稱
  • 把服務帳號的信箱改成你的
  • 出現紅色的程式碼請自己include相關的dll即可

步驟三 : 接下來我們來測試是否順利拿到token,藉由postman我們順利拿到token囉!!
2016-01-07_174800


最後一篇,我們將使用Embed API 展示成果,把得到的token喂給前端google analytics api 就可以順利呈現圖表囉!!


ps. 如果實做過程中你有遇到token無法順利匯入 : 可以參考這篇試試看唷

Google Analytics Api 佈版IIS 系統找不到指定的檔案

3 則留言:

  1. 您好,我照了您的方式複製您的程式碼,結果出現[系統找不到指定的檔案],上網查了一下問題,是說類別匯入憑證發生錯誤,好像需要設定?
    這樣寫法又不同了,請問該如何匯入憑證後,再拿到token呢?謝謝^^
    http://blog.miniasp.com/post/2009/04/14/Importing-a-PFX-file-using-X509Certificate-from-ASPNET-fails.aspx

    回覆刪除
  2. http://todomato.blogspot.tw/2016/01/googleerror-google-analytics-api-iis.html

    你試過這篇了嗎?

    回覆刪除