с использованием 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;
}
}
}
}