Google Analytics zgłasza błąd 403
Próbuję pobrać dane metryczne z Google Analytics za pomocą C # i przeprowadzam uwierzytelnianie użytkownika za pomocą OAuth 2.0. UżywamZainstalowana aplikacja przepływ autoryzacji, który wymaga logowania do Google i kopiowania i wklejania kodu do aplikacji. Śledzę kod pobrany zklient google-api-dotnet:
private void DownloadData()
{
Service = new AnalyticsService(new BaseClientService.Initializer() {
Authenticator = CreateAuthenticator(),
});
var request = service.Data.Ga.Get(AccountID, StartDate, EndDate, Metrics);
request.Dimensions = Dimensions;
request.StartIndex = 1;
request.MaxResults = 10000;
var response = request.Execute(); // throws Google.GoogleApiException
}
private IAuthenticator CreateAuthenticator()
{
var provider = new NativeApplicationClient(GoogleAuthenticationServer.Description) {
ClientIdentifier = "123456789012.apps.googleusercontent.com",
ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx",
};
return new OAuth2Authenticator<NativeApplicationClient>(provider, Login);
}
private static IAuthorizationState Login(NativeApplicationClient arg)
{
// Generate the authorization URL.
IAuthorizationState state = new AuthorizationState(new[] { AnalyticsService.Scopes.AnalyticsReadonly.GetStringValue() });
state.Callback = new Uri(NativeApplicationClient.OutOfBandCallbackUrl);
Uri authUri = arg.RequestUserAuthorization(state);
// Request authorization from the user by opening a browser window.
Process.Start(authUri.ToString());
Console.Write("Google Authorization Code: ");
string authCode = Console.ReadLine();
// Retrieve the access token by using the authorization code.
state = arg.ProcessUserAuthorization(authCode, state);
return state;
}
Konto Google[email protected]
zarejestrował identyfikator klienta i tajne. To samo konto ma pełne uprawnienia administracyjne w Google Analytics. Kiedy próbuję pobrać dane z Google Analytics, przechodzi proces autoryzacji, który wydaje się działać poprawnie. Następnie kończy się niepowodzeniem:
Google.GoogleApiException
Błąd Google.Apis.Requests.Request
Użytkownik nie ma wystarczających uprawnień do tego profilu. [403]
Błędy [
Wiadomość [Użytkownik nie ma wystarczających uprawnień do tego profilu.] Lokalizacja [-] Powód [brak wystarczających uprawnień] Domena [globalna]
]
Walczyłem z tym przez kilka godzin. Sprawdziłem dwukrotnie, czy używany jest właściwy użytkownik i czy jest on autoryzowany w Google Analytics. Nie wiem, co jest źle skonfigurowane. Jakieś pomysły co do konfiguracji lub zmiany?