Programowanie aplikacji wykorzystującej Google Analytics Api

0

Witam serdecznie,
Mam do wykonania zadanie w projekcie, które polega na zaprogramowaniu w C# aplikacji, która będzie się łączyć z google analytics i pobierać dane za pomocą API. Problem jest taki iż nie potrafię sobie poradzić nawet z początkiem programu. Szukam w internecie (oczywiście też na stronach anglojęzycznych) przykładów, tutoriali itp ale niestety nie umiem napisać działającej aplikacji np z powodów iż tutorial/przykład jest dla API w wersji 2.0, 2.3, których już google nie obługuje lub np nie ma biblioteki, której portrzeba w przykładzie. Na stronie google są przykłady dla języków Java, Python lub PHP...
Czy ktoś z osób bardziej doświadczonych mógłby mi pomóc?

Z góry dziękuje za pomoc.

0

Aplikacja to okienka, service, ASP.NET? Niezależnie od odpowiedzi, proponuję sprawdzić C# klienta do analytics API w wersji 3, jeśli aplikacja może korzystać z javascript możesz też skonsumować API w jsie.

0

Aplikacja powinna być w asp ale raczej dałbym sobie rade z przerobieniem działającej desktopowej app. Ale właśnie gdzie znajde klienta do c# w wersji 3? Szukam już od prawie 8h i być może przestałem już poprawnie analizować strony, które przeglądam... javascript nie byłoby zadowalającym rozwiązaniem dla przełożonych.

0

Byłem na tej stronie ale klienta przeoczyłem. Jeśli uda mi się cokolwiek zaprogramować to wkleję tutaj kod (może komuś się przyda) a jeśli coś to będę pytał dalej. Dziekuje za pomoc.

0

Jednak nie jestem w stanie sobie poradzić. Korzystając z kodu google'a jaki powyżej mi podesłałeś. Jeśli chodzi o zdobycie tokena dla danych to jest ok, ale np wykonanie Metody aby zdobyc liste kont nie udaje się a w odpowiedzi dostaję błąd 403 Insufficient Permission.

controller:

public class HomeController : Controller
    {
        

        public async Task<ActionResult> Index()
        {

            CancellationToken cancellationToken;
            var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()).AuthorizeAsync(cancellationToken);

            if (result.Credential != null)
            {
                var gas = new AnalyticsService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = result.Credential,
                    ApplicationName = "api_test",
                });

                ManagementResource.AccountsResource.ListRequest AccountListRequest = gas.Management.Accounts.List();
                Accounts AccountList = AccountListRequest.Execute();

                string a = gas.ApiKey;
                return View();
            }
            else
            {
                return new RedirectResult(result.RedirectUri);
            }
        }

AppFlowMetadata:

 private static readonly IAuthorizationCodeFlow flow =
            new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
            {
                ClientSecrets = new ClientSecrets
                {
                    ClientId = "HASH.apps.googleusercontent.com",
                    ClientSecret = "HASH",
                },
                Scopes = new[] { DriveService.Scope.Drive },
                DataStore = new FileDataStore("Drive.Api.Auth.Store")
            });
        

        public override string GetUserId(Controller controller)
        {
            // In this sample we use the session to store the user identifiers.
            // That's not the best practice, because you should have a logic to identify
            // a user. You might want to use "OpenID Connect".
            // You can read more about the protocol in the following link:
            // https://developers.google.com/accounts/docs/OAuth2Login.
            var user = controller.Session["user"];
            if (user == null)
            {
                user = Guid.NewGuid();
                controller.Session["user"] = user;
            }
            return user.ToString();

        }

        public override IAuthorizationCodeFlow Flow
        {
            get { return flow; }
        }

1 użytkowników online, w tym zalogowanych: 0, gości: 1