Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用OAuth获取Google分析数据?_C#_.net_Oauth_Google Analytics_Authsub - Fatal编程技术网

C# 如何使用OAuth获取Google分析数据?

C# 如何使用OAuth获取Google分析数据?,c#,.net,oauth,google-analytics,authsub,C#,.net,Oauth,Google Analytics,Authsub,嘿,伙计们,我们正在开发一个系统,可以让用户访问谷歌分析。我正在尝试以这样的方式实现它,用户不需要在我们的网站上输入他们的Google登录凭据,所以尝试使用他们的登录使其工作 我有一个解决方案,可以使用用户的电子邮件和密码进行分析。我正在寻找一个解决方案,将不需要用户的电子邮件和密码,但找不到任何东西 怎样才能做到呢?任何建议或链接将不胜感激 感谢使用OAuth的基本知识如下: 使用OAuth进行身份验证: 在您使用OAuth对用户进行身份验证之后,您将拥有一个请求令牌,其工作原理与您从Goog

嘿,伙计们,我们正在开发一个系统,可以让用户访问谷歌分析。我正在尝试以这样的方式实现它,用户不需要在我们的网站上输入他们的Google登录凭据,所以尝试使用他们的登录使其工作

我有一个解决方案,可以使用用户的电子邮件和密码进行分析。我正在寻找一个解决方案,将不需要用户的电子邮件和密码,但找不到任何东西

怎样才能做到呢?任何建议或链接将不胜感激


感谢

使用OAuth的基本知识如下:

使用OAuth进行身份验证:

在您使用OAuth对用户进行身份验证之后,您将拥有一个请求令牌,其工作原理与您从Google的登录API返回的令牌类似。从这里开始,它应该与用户名/密码相同。

有一个用于谷歌数据验证的API,可用于访问谷歌分析数据导出API(因为该API是谷歌数据标准的一部分,但您可能需要进行谷歌分析特定的调整。)*

身份验证最好通过创建来管理,因为这允许您在没有安全警告的情况下进行身份验证(就此而言,安全失效)

支持的身份验证有三种形式;“安全的”/无密码的是和(这是谷歌专有的OAuth版本);硬编码的用户名和密码版本被谷歌称为“ClientLogin”,对于多用户应用程序来说并不安全或理想

*(因为你给问题加了标签)

编辑:有关在.NET库中使用AuthSub或OAuth的详细信息:

AuthSubSupport:


关于如何使用库进行OAuth身份验证的代码示例:(单击.NET选项卡)。

好的,伙计们,经过几天的努力,我终于找到了答案。互联网上没有文档,以前做过的人出于某种原因不想分享他们的成功。我发现这对我很有帮助

要使其正常工作,您需要来自和来自的
DotNetOpenAuth
gdata

所以

在DotNetOpenAuth中,您需要一个名为OAuthConsumer的示例项目。 将其更改为requiest authorization for Analytics:

GoogleConsumer.RequestAuthorization(google, GoogleConsumer.Applications.Analytics);
这将为您获取令牌和令牌机密。 您可以这样使用它们:

        GOAuthRequestFactory requestFactory = new GOAuthRequestFactory("cp", TokenManager.ConsumerKey); //ConsumerKey actually is the name of web application
        requestFactory.ConsumerKey = TokenManager.ConsumerKey;
        requestFactory.ConsumerSecret = TokenManager.ConsumerSecret;
        requestFactory.Token = AccessToken;
        requestFactory.TokenSecret = TokenManager.GetTokenSecret(AccessToken);
        requestFactory.UseSSL = true;
        AnalyticsService service = new AnalyticsService(requestFactory.ApplicationName); // acually the same as ConsumerKey
        service.RequestFactory = requestFactory;

        const string dataFeedUrl = "https://www.google.com/analytics/feeds/data";

        DataQuery query1 = new DataQuery(dataFeedUrl);
这项服务你可以用喜欢或喜欢


最后一件事是,您将无法在
localhost
上尝试和测试它,因此您需要一个必须在Google注册的域,以便获得用户密钥和机密信息

我认为您不需要与OAuth打交道

google analytics api允许您传递凭据。从这个数据提要示例开始

在此处下载客户端库

要了解数据查询,请使用此功能,然后将值复制到上面的示例中

http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html

分析也可以共享给特定用户(基于电子邮件),链接不提供任何合理的示例,显示一个使用电子邮件和密码的客户端登录,这是不可接受的。谷歌文档一点帮助都没有。我不知道如何手动生成所有这些庞大而繁琐的请求,然后解析响应。对于一个没有多年经验的人来说,这项任务似乎毫无希望。@Burjua请看我的2篇编辑。他们应该帮忙。我知道你正在经历什么——我必须为PHP做这件事,而且工作起来并不简单。但是这些指南很有帮助。我下载了所有这些库,没有像service.RequestFactory=RequestFactory;这样的成员;。另外,您是否碰巧知道如何在名称空间Google.api.Analytics.v3中使用Analytics类这只适用于开发。如果您在生产中部署此功能,除了安全风险之外,您每天最多可以收到200个请求
// Configure GA API and do client login Authorization.
AnalyticsService asv = new AnalyticsService("gaExportAPI_acctSample_v2.0");
asv.setUserCredentials(clientUser, clientPass);
http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html