2017-07-10 5 views
0

このcode snippet from googleを使用すると、このエラーが表示されます。スニペットをコピーして貼り付け、APIのトラフナゲットをインストールしてから何がうまくいかないのか分かりません。C#Google Analyticsレポートv4 API - Googleでアナリティクスレポート関数が見つかりませんでした。スニペット

CS0103 - 名「analyticsreporting」私は、私はそれがより良いGoogleチームよりによって文書化することができると思いカントー解決策を見つけた50

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using Google.Apis.AnalyticsReporting.v4; 
using Google.Apis.AnalyticsReporting.v4.Data; 
using Google.Apis.Auth.OAuth2; 
using Google.Apis.Services; 
using Google.Apis.Util.Store; 


namespace GoogleAnalytics 
{ 
    internal class Analytics 
    { 
     public Analytics(Dictionary<string, dynamic> analyticsConfig) 
     { 
      try 
      { 

       // Content here 
       Console.WriteLine("Hello from Google Analytics. Starting.."); 

       // Create the DateRange object. 
       DateRange dateRange = new DateRange() { StartDate = "2016-02-02", EndDate = "2016-01-01" }; 

       // Create the Metrics object. 
       Metric sessions = new Metric { Expression = "ga:sessions", Alias = "Sessions" }; 

       //Create the Dimensions object. 
       Dimension browser = new Dimension { Name = "ga:browser" }; 

       // Create the ReportRequest object. 
       ReportRequest reportRequest = new ReportRequest 
       { 
        ViewId = "my_view_id_here", 
        DateRanges = new List<DateRange>() { dateRange }, 
        Dimensions = new List<Dimension>() { browser }, 
        Metrics = new List<Metric>() { sessions } 
       }; 

       List<ReportRequest> requests = new List<ReportRequest>(); 
       requests.Add(reportRequest); 

       // Create the GetReportsRequest object. 
       GetReportsRequest getReport = new GetReportsRequest() { ReportRequests = requests }; 

       // Call the batchGet method. 
       GetReportsResponse response = analyticsreporting.Reports.BatchGet(getReport).Execute(); 

      } 

      catch (Exception e) 
      { 

       Console.WriteLine(e.Message); 

      } 
     } 
    } 
} 
+0

すべてのこれらのサンプルはすでに(ご希望の[クライアントライブラリ]は[OAuth 2.0の](https://developers.google.com/analytics/devguides/reporting/core/v4/authorization)を設定していると仮定https://developers.google.com/analytics/devguides/reporting/core/v4/libraries)。 Hello Worldの例は[PHP](https://developers.google.com/analytics/devguides/reporting/core/v3/quickstart/web-php)、[Python](https://developers.google.com)にあります。/analytics/devguides/reporting/core/v3/quickstart/installed-py)など。好きな言語が見つからない場合は、まずクライアントライブラリのドキュメントを参照してください。 – Matt

+0

ありがとう@Matt、私はその答えを見つけて、 。私の提案は、コード例が不完全であることを開発者が知るように、サンプルスニペットにある種のコメントを含めることです。そのようなコメントを持つ他のGoogle APIの例がいくつかあります。そのため、ユーザーはコンパイラを真実にするためにもっと多くの作業が必要であることを知っています。 –

答えて

1

行に現在のコンテキスト内に存在しませんそれは今です。次のコードは、oauth2を使用したc#の例を示しています。

private static async Task Run() 
    { 
     var credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(
      new ClientSecrets 
      { 
       ClientId = Settings.Default.ClientId, 
       ClientSecret = Settings.Default.ClientSecret 
      }, 
      new[] {AnalyticsReportingService.Scope.AnalyticsReadonly}, 
      "user", 
      CancellationToken.None); 

     var service = new AnalyticsReportingService(new BaseClientService.Initializer 
     { 
      ApplicationName = "GAReportDownloader", 
      HttpClientInitializer = credential 
     }); 

     // Content here 
     Console.WriteLine("Hello from Google Analytics. Starting.."); 

     // Create the DateRange object. 
     var dateRange = new DateRange {StartDate = "2017-07-01", EndDate = "2017-07-10"}; 

     // Create the Metrics object. 
     var sessions = new Metric {Expression = "ga:sessions", Alias = "Sessions"}; 

     //Create the Dimensions object. 
     var browser = new Dimension {Name = "ga:browser"}; 

     // Create the ReportRequest object. 
     var reportRequest = new ReportRequest 
     { 
      ViewId = "YOURVIEWIDHERE", 
      DateRanges = new List<DateRange> {dateRange}, 
      Dimensions = new List<Dimension> {browser}, 
      Metrics = new List<Metric> {sessions} 
     }; 

     var requests = new List<ReportRequest> {reportRequest}; 

     // Create the GetReportsRequest object. 
     var getReport = new GetReportsRequest {ReportRequests = requests}; 

     // Call the batchGet method. 
     var response = service.Reports.BatchGet(getReport).Execute(); 

     Console.WriteLine(); 
    } 
} 
関連する問題