2016-07-19 7 views
0

2か月間異なる2つのサーバー上の2つの異なるWebアプリケーションでコードを使用していました。 'DotNetOpenAuth.Messaging.ProtocolException'がGoogle.Apis.dllで発生しましたが、ユーザーコードで処理されませんでしたGoogleアナリティクスのレポートデータは、.NETでv3を使用してランダムに動作を停止しました。

追加情報:直接メッセージの送信中または応答の取得中にエラーが発生しました。

  //Retreive total hits and hits in last 30 days from google analytic 

      //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\*******.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, "2005-01-01", DateTime.Now.ToString("yyyy-MM-dd"), "ga:totalEvents"); 


      //Specify some addition query parameters 
      r.Filters = "ga:eventCategory==appStart;ga:eventAction==user"; 

      //Execute and fetch the results of our query 

      GaData d = r.Execute(); 

答えて

0

私は何も変更せずに、両方のサーバーの両方のアプリケーションでランダムに作業を開始しました。

関連する問題