Estou criando um script, com base no guia passo a passo do Google Analytics a partir desta página:
https://developers.google.com/analytics/resources/tutorials/hello-analytics-api
A autorização é feita sem problemas, até tentar acessar os dados. O código de retorno é 403 e a mensagem de erro é:
O usuário não tem nenhuma conta do Google Analytics
Esta mensagem não faz sentido: minha conta possui dados do Google Analytics, acompanhando vários sites e posso acessá-los no navegador da Web sem problemas. Permiti a API do Analytics pelo console de APIs do Google e o acesso à API está fornecendo os dados corretos.
fonte
Basta adicionar seu e-mail (formato de
71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com
)para gerentes de usuários:
Desejo que ajude você
fonte
Eu estava enfrentando o mesmo problema. Para resolver esse problema, adicione o ID de e-mail do usuário da conta de serviço (
your [email protected]
) aos usuários da sua conta do Analytics emPágina inicial do Analytics -> Admin (painel esquerdo) -> Gerenciamento de usuários -> adicionar (clique no sinal de adição no lado direito do menu) -> Adicionar novo usuário -> Adicionar o ID do email ao inserir endereços de email.
Agora, isso resolverá o problema.
fonte
Ele é mencionado em um comentário acima, mas se você adicionar o endereço de email no Gerenciamento de usuários da sua conta , ele não funcionará. Você precisa clicar no Gerenciamento de usuários, na parte de exibição da tela.
fonte
User Management
link em exibição no meu fimVocê também receberá esse erro se nunca tiver feito login com a conta do Google com a qual está tentando se autenticar.
fonte
Eu estava recebendo o erro 403 até alterar as permissões da conta de e-mail de dentro do Google Analytics de 'Ler e analisar' para outra coisa, salvá-lo e alterá-las novamente para 'Ler e analisar' e funcionou.
fonte
Caso isso não funcione, tente abrir o arquivo JSON que você baixou e procure por
client_email
e copie esse endereço de email e adicione-o ao arquivo ExibirClique em
Se isso ainda não funcionar
fonte
Essa mensagem é recebida quando nenhuma permissão concedida
client_email
, no google alalytics ,client_email
é obtida do arquivo JSON . para conceder permissão paraclient_email
uso em seu aplicativo, acesse o site do Google Analytics e clique em "Admin (ícone de configuração)"você terá a lista de menus correta, clique em "Exibir gerenciamento de usuários"
Lá você verá o ícone "+" e "adicionar usuário",
Depois de clicar
client_email
nele, você precisa adicionar o "campo de endereço de e-mail" e salvá-lo; você deve estar pronto!fonte
Eu estava atingindo o erro 403. Esses passos me contornaram. Para deixar claro, eu estava tentando fazer com que o exemplo "HelloAnalytics.php" do Google trabalhasse com o OAuth (sem interação com o usuário, adequado para tarefas cron etc.).
Após ativar a API do Analytics, criei uma nova "Conta de serviço" em APIs e autenticação / credenciais; e salvou o par de chaves .p12. Entrei no console de gerenciamento de usuários do Analytics e adicionei o endereço de e-mail do usuário do serviço.
A autorização .p12 usando a API PHP funciona se eu marcar apenas "Ler e analisar" apenas na lista de permissões. Se eu adicionar "Gerenciar usuários" e / ou "Editar", obtenho a 403. Espero que isso seja útil, eu fiquei pensando nisso por algumas horas ...
fonte
O usuário para o qual você está tentando usar a API não ativou o serviço do GA.
Simplesmente ter uma conta do Google não é suficiente .
fonte
Eu também tinha esse problema e descobri que havia solicitado muitas permissões. O console do desenvolvedor diz para solicitar ambos
http://www.googleapis.com/auth/analytics
ehttp://www.googleapis.com/auth/analytics.readonly
permissões. Isso não funcionou quando eu também estava usando asub
reivindicação. Umasub
reivindicação instrui o Google a emitir um token de acesso que opera em nome de outro usuário - no meu caso, a conta do Google que possui a conta de serviço. Eu removi aanalytics
permissão e permanecianalytics.readonly
com a reivindicação secundária:O token do Bearer emitido me permite fazer (pelo menos algumas) consultas do Google Analytics a perfis pertencentes a contas do Google completamente diferentes, mas que foram compartilhadas (somente leitura) com meu usuário do gmail ([email protected]) .
fonte
Consegui consertar isso, certificando-me de que o
client = Google :: APIClient.new (: application_name => 'X',: application_version => '1')
a variável de nome do aplicativo 'X acima era o nome de CONTA no painel do GA, não o nome de PROPRIEDADE, que no meu caso era o URL real do site que desejo acessar.
Confuso, mas felizmente corrigido (sem agradecimentos ao Google!)
fonte
O problema acontece porque não fornecemos um argumento "sub". A menos que forneçamos isso, a chamada acontece em nome desse email longo da conta de serviço.
Portanto, basta fornecer um sub-argumento, com um e-mail ao qual você já tenha acesso no relatório, e as coisas devem funcionar bem!
fonte
Eu recebi o mesmo erro, pois não fiz login no google analytics. Então, eu o resolvi entrando na conta de análise.
fonte
Em vez de usar uma conta de serviço, você pode evitar a necessidade de adicionar novas permissões de usuário (de acordo com as principais respostas deste segmento) usando
OAuth client ID
credenciais.Acesse o painel de credenciais da API e clique em "Criar credenciais" -> "ID do cliente OAuth". Posteriormente, você deve obter um ID do cliente e um segredo do cliente, necessário para autenticar a API.
Agora você pode usar
OAuth2WebServerFlow
para autenticar em uma base por uso. Aqui está um exemplo python3:fonte