Как загрузить пользовательские отчеты из Google Analytics с помощью приложения asp.net - PullRequest
0 голосов
/ 31 мая 2019

с использованием Google.Apis.Auth.OAuth2;

с использованием Google.Apis.Analytics.v3;

с использованием Google.Apis.Services;

с помощью GoogleReporting;

с использованием системы;

с использованием System.Collections.Generic; используя System.IO;

с использованием System.Linq;

с использованием System.Threading;

с использованием System.Threading.Tasks;

с использованием System.Web;

с использованием System.Web.UI;

с использованием System.Web.UI.WebControls;

с использованием Google.Apis.Util.Store;

с использованием Google.Apis.Analytics.v3.Data;

с использованием Google.Apis.AnalyticsReporting.v4;

с использованием Google.Apis.AnalyticsReporting.v4.Data;

с использованием System.Configuration;

namespace GoogleReporting { открытый частичный класс _Default: Page { защищенная пустота Page_Load (отправитель объекта, EventArgs e) {

    }

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        Run();
    }
    private async Task Run()
    {
        try
        {
            UserCredential credential;


            string[] scopes = new string[] { AnalyticsService.Scope.Analytics, AnalyticsService.Scope.AnalyticsEdit, AnalyticsService.Scope.AnalyticsManageUsers, AnalyticsService.Scope.AnalyticsReadonly};


            credential = await GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets  {ClientId = "********",ClientSecret = "*********" }, scopes,Environment.UserName, CancellationToken.None, new FileDataStore("Books.ListMyLibrary"));
            var service = new AnalyticsService(new BaseClientService.Initializer(){HttpClientInitializer = credential, ApplicationName = "Books API Sample",});


            DataResource.GaResource.GetRequest request = service.Data.Ga.Get("ga:********", "2019-05-22", "2019-05-29", "ga:users,ga:pageviews,ga:visits");


            GaData result = request.Execute();             
            List<string> allRows = new List<string>();             
            while (result.Rows != null)
            {

                allRows.AddRange((IEnumerable<string>)result.Rows);

                if (result.NextLink == null)
                {
                    break;
                }                            
                request.StartIndex = request.StartIndex + request.MaxResults;                  
                result = request.Execute();
            }
            GaData allData = result;
            allData.Rows = (IList<IList<string>>)allRows;

        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
            //return null;
        }

    }     

}

}

...