我有一个解决方案,可以使用用户的电子邮件和密码进行分析。我正在寻找一种解决方案,它不需要用户的电子邮件和密码,但找不到任何东西。
怎么做?任何建议或链接将不胜感激。
感谢
答案 0 :(得分:11)
好的,伙计们,经过几天的挣扎,我终于弄明白了。互联网上没有文档,以前做过这些文档的人不想出于某种原因分享他们的成功。我找到了这个帮助我的discussion。
要使其有效,您需要来自http://www.dotnetopenauth.net/的DotNetOpenAuth
和来自http://code.google.com/p/google-gdata/的gdata
所以
using DotNetOpenAuth.ApplicationBlock;
using DotNetOpenAuth.OAuth;
using Google.GData.Client;
using Google.GData.Analytics;
在DotNetOpenAuth中,您需要一个名为OAuthConsumer的示例项目。 将其更改为对Google 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 here注册的域名才能获得消费者密钥和密钥< / p>
答案 1 :(得分:1)
用于Google数据身份验证的.NET/C# class可用于访问Google Analytics数据导出API(因为API是Google数据标准的一部分,但您可能需要特定于Google Analytics调整。)*
最好通过创建Google Registered Application来管理身份验证,因为这样您就可以在没有安全警告的情况下进行身份验证(并且就此而言,安全性失误)。
支持的身份验证有三种形式; “安全&#39; /无密码”是OAuth和AuthSub(这是OAuth的Google专有版本); Google提供的硬编码用户名和密码版本为&#39; ClientLogin&#39;,对于多用户应用程序而言,它不被视为安全或理想选择。
编辑:有关在.NET库中使用AuthSub或OAuth的更多详细信息:
AuthSubSupport:http://code.google.com/p/google-gdata/wiki/AuthSubSupport
有关如何使用库进行OAuth身份验证的代码示例:http://code.google.com/apis/gdata/docs/auth/oauth.html#2LeggedOAuth(单击.NET选项卡)。
答案 2 :(得分:0)
使用OAuth的基础知识在这里:http://code.google.com/apis/accounts/docs/OpenID.html#working
使用OAuth进行身份验证:http://code.google.com/apis/accounts/docs/OAuth.html
使用OAuth对用户进行身份验证后,您将获得与您从Google的登录API中获取的请求令牌相同的请求令牌。从那里,它应该与用户名/密码相同。
答案 3 :(得分:-1)
我认为你不需要搞砸OAuth。
google analytics api允许您传递凭据。从这个数据Feed示例开始。
// 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/gdataLibraries.html
要了解数据查询,请使用此方法,然后将值复制到上面的示例中
http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html