前言 : 在第一篇、第二篇我們已經取得金鑰並設定好網站資訊,也把追蹤碼放到我們的網站上,現在我們要在後端利用google 做好的api 去取得該網站的存取token囉
步驟一 : 到你的專案打開nuget 並下載Google.Apis.Analytics…..這個套件,他會連同相關連的dll一起載入
步驟二 : 我這裡是用.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囉!!
最後一篇,我們將使用Embed API 展示成果,把得到的token喂給前端google analytics api 就可以順利呈現圖表囉!!
ps. 如果實做過程中你有遇到token無法順利匯入 : 可以參考這篇試試看唷
您好,我照了您的方式複製您的程式碼,結果出現[系統找不到指定的檔案],上網查了一下問題,是說類別匯入憑證發生錯誤,好像需要設定?
回覆刪除這樣寫法又不同了,請問該如何匯入憑證後,再拿到token呢?謝謝^^
http://blog.miniasp.com/post/2009/04/14/Importing-a-PFX-file-using-X509Certificate-from-ASPNET-fails.aspx
http://todomato.blogspot.tw/2016/01/googleerror-google-analytics-api-iis.html
回覆刪除你試過這篇了嗎?
成功了,謝謝您^^
刪除