当我在本地主机上运行我的asp.net应用程序时,一切都很好但是当我在Web服务器上发布我的应用程序时出现此错误:
Method 'ApplyAuthenticationToRequest' in type 'Google.Apis.Authentication.OAuth2.OAuth2Authenticator`1' from assembly 'Google.Apis.Authentication.OAuth2, Version=1.4.0.28223, Culture=neutral, PublicKeyToken=null' does not have an implementation.
以下是使用分析
的代码的一部分.............................................
//This is the API url which we're storing to a string
string scope = AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue();
//For whatever reason, this is labelled wrong. It is the email address
//that you have added as a user to your Analytics account
string clientId = "*********@developer.gserviceaccount.com";
//This is the physical path to the file we downloaded earlier
//To demonstrate this, I've kept the full path to my key file.
//Obviously, you will need to change this to match where you've
//stored yours.
string keyFile = @"C:\key\*************76-privatekey.p12";
//The password Google gives you, probably the same as the one below
string keyPassword = "notasecret";
//Store the authentication description
AuthorizationServerDescription desc = GoogleAuthenticationServer.Description;
//Create a certificate object to use when authenticating
X509Certificate2 key = new X509Certificate2(keyFile, keyPassword, X509KeyStorageFlags.Exportable);
//Now, we will log in and authenticate, passing in the description
//and key from above, then setting the accountId and scope
AssertionFlowClient client = new AssertionFlowClient(desc, key)
{
ServiceAccountId = clientId,
Scope = scope
};
//Finally, complete the authentication process
//NOTE: This is the first change from the update above
OAuth2Authenticator<AssertionFlowClient> auth =
new OAuth2Authenticator<AssertionFlowClient>(client, AssertionFlowClient.GetState);
//First, create a new service object
//NOTE: this is the second change from the update
//above. Thanks to James for pointing this out
AnalyticsService gas = new AnalyticsService(new BaseClientService.Initializer() { Authenticator = auth });
//Create our query
//The Data.Ga.Get needs the parameters:
//Analytics account id, starting with ga:
//Start date in format YYYY-MM-DD
//End date in format YYYY-MM-DD
//A string specifying the metrics
DataResource.GaResource.GetRequest r =
gas.Data.Ga.Get(googleID[0]["google_analytic_id"].ToString(), "2005-01-01", DateTime.Now.ToString("yyyy-MM-dd"), "ga:visitors");
//Specify some addition query parameters
// r.Dimensions = "ga:pagePath";
r.Sort = "-ga:visitors";
r.MaxResults = 5;
//Execute and fetch the results of our query
GaData d = r.Execute();
答案 0 :(得分:0)
我有同样的问题。还没有解决方案,但是:
我使用.net framework 4.0在MVC项目中测试google apis,我在其中添加了带有nugets的google apis。该项目在VS Express 2012 for web中运行良好,但是当我将项目发布到运行.NET Framework版本的IIS7服务器时,我遇到了同样的崩溃:4.0.30319。我已经确认这两台机器正在使用相同的组件。
有些不同,我不知道是什么!