使用谷歌分析跟踪 ASP.NET Web API
Posted
技术标签:
【中文标题】使用谷歌分析跟踪 ASP.NET Web API【英文标题】:Tracking ASP.NET Web API with google analytics 【发布时间】:2014-01-28 05:51:58 【问题描述】:我正在为我的网站开发一个 API,用户可以访问和使用自己的网站/应用程序。
我想保留我允许的不同 API 调用的使用情况统计信息,并想像我在我的网站上一样使用 Google Analytics。是否可以在服务器端代码上使用 Google Analytics 进行跟踪?或者特别是 web api?
谢谢
【问题讨论】:
【参考方案1】:Google 分析已从服务器端向mobile code to track 提供统计信息。您可以使用该代码来归档您的目标。
这实际上是用你给他的信息从服务器端向谷歌发出网络请求。调用 gif 图像,url 参数为:
string utmGifLocation = "http://www.google-analytics.com/__utm.gif";
string utmUrl = utmGifLocation + "?" +
"utmwv=" + Version +
"&utmn=" + RandomNumber +
"&utmhn=" + HttpUtility.UrlEncode(domainName) +
"&utmr=" + HttpUtility.UrlEncode(documentReferer) +
"&utmp=" + HttpUtility.UrlEncode(documentPath) +
"&utmac=" + account +
"&utmcc=__utma%3D999.999.999.999.999.1%3B" +
"&utmvid=" + visitorId +
"&utmip=" + GlobalContext.Request.ServerVariables["REMOTE_ADDR"];
SendRequestToGoogleAnalytics(utmUrl);
请求是这样的:
private void SendRequestToGoogleAnalytics(string utmUrl)
try
WebRequest connection = WebRequest.Create(utmUrl);
((HttpWebRequest)connection).UserAgent = GlobalContext.Request.UserAgent;
connection.Headers.Add("Accepts-Language",
GlobalContext.Request.Headers.Get("Accepts-Language"));
using (WebResponse resp = connection.GetResponse())
// Ignore response
catch (Exception ex)
if (GlobalContext.Request.QueryString.Get("utmdebug") != null)
throw new Exception("Error contacting Google Analytics", ex);
您可以从 google 网站获取完整示例,只需对原始代码进行少量更改,即可使其适合您。
https://developers.google.com/analytics/devguides/collection/?csw=1
这是一个普遍的想法,您还有一些工作要做,但您需要的所有代码都在该文件中:http://dl.google.com/gaformobileapps/googleanalyticsformobile.zip
【讨论】:
您的答案中提供的链接现在指向不推荐使用的方法。相反,谷歌建议使用他们的 Measurement Protocol API,它基本上是一个带有一些参数的 HTTP POST 请求。 developers.google.com/analytics/devguides/collection/protocol/…【参考方案2】:您可以使用 Google Analytics Tracker NuGet 包。链接在这里.. https://github.com/maartenba/GoogleAnalyticsTracker
【讨论】:
以上是关于使用谷歌分析跟踪 ASP.NET Web API的主要内容,如果未能解决你的问题,请参考以下文章
html 谷歌reCAPTCHA ASP.NET C#,ASP.NET Web API
ASP.NET - 部署问题 - 通过 Web.Config 启用堆栈跟踪/跟踪侦听器日志以查找内部服务器 500 错误的原因
尝试使用 Google.Apis.Gmail 从 asp.net core web api 应用程序从谷歌工作区发送电子邮件时出错