Analytics Google API Hatası 403: "Kullanıcının herhangi bir Google Analytics Hesabı yok"


148

Bu sayfadaki adım adım Google Analytics kılavuzuna göre bir komut dosyası oluşturuyorum:

https://developers.google.com/analytics/resources/tutorials/hello-analytics-api

Yetkilendirme, verilere erişmeye çalışıncaya kadar sorunsuz yapılır. Dönüş kodu 403'tür ve hata mesajı:

Kullanıcının herhangi bir Google Analytics hesabı yok

Bu mesajın bir anlamı yok: Hesabımın google analitik verileri var, birden fazla web sitesini izliyor ve web tarayıcısından sorunsuzca erişebiliyorum. Analytics API'ye Google API'leri konsolu aracılığıyla izin verdim ve API erişimi bana doğru verileri veriyor.

Yanıtlar:


309

Ben de bu problemi yaşadım. Erişmesini istediğim Google Analytics profiline hizmet hesabımın e-posta adresini ekleyerek sorunu çözdüm.

Hizmet hesabının e-posta adresini (xxxxxx@developer.gserviceaccount.com gibi) Google API'leri konsolundaki "API Erişimi" sekmesine bakarak aldım.

Ardından, Google'ın bir Analytics profiline bir e-posta adresi ekleme talimatlarını izledim . Şimdi her şey beklendiği gibi çalışıyor.

İyi şanslar!


8
Bu en iyi cevap, denedim ve çekicilik gibi çalışıyor !! Çok teşekkürler @Sebastian!
mongotop

1
Hesabınızda birden fazla profiliniz varsa ve verilerine GA API kullanarak erişmek istiyorsanız, xxxxx@developer.gserviceaccount.com adresini Analytics profiline eklemeye devam etmeniz veya manuel bir yol kullanmadan daha verimli bir yol olması durumunda. Teşekkürler!
mongotop

2
@mongotop rica ederim! Ne yazık ki bunu yapmanın daha verimli bir yolunu bilmiyorum - bulursanız yorumlarda bize bildirin.
SM

1
Kullanıcıyı Mülk düzeyinde eklerseniz, onu uygun görünüme eklediğinizden emin olun, çünkü Analytics kullanıcı arayüzü bazen yanıltıcı olabilir
tacone

1
Sen bir efsanesin, bütün gün bunu kurmaya çalışarak geçirdim.
dspacejs

83

Sadece size verilen e-postayı ekleyin (biçimi 71667655853644-o653rrdkq5hthsgo0otbpojoo@developer.gserviceaccount.com)

Kullanıcı Yöneticilerine:

Kullanıcının herhangi bir Google Analytics hesabı yok

Sana yardım etmesini dilerim


2
Ne yazık ki hata ortadan kalkmadı. Hala Mesaj: GAPI: Hesap verileri istenemedi. Hata: "{" error ": {" error ": [{" domain ":" global "," reason ":" insufficientPermissions "," message ":" Kullanıcının herhangi bir Google Analytics hesabı yok. "}]," code ": 403," message ":" Kullanıcının herhangi bir Google Analytics hesabı yok. "}}"
JosFabre

1
@Lev 3 yıldan fazla bu cevap hala geçerlidir. Google'ın geliştirmesini umuyordum ama hayır. Mükemmel yapıldı: D
itsnikolay

@IriYork 5 yıl sonra
itsnikolay

28

Ben de aynı sorunla karşı karşıyaydım. Hizmet hesabı kullanıcısının ( your account@yourwebsite-dev.iam.gserviceaccount.com) e-posta kimliğini Analytics hesabınızdaki kullanıcılara ekleyerek çözüldü:

Analytics-Ana Sayfa -> Yönetici (sol bölme) -> Kullanıcı Yönetimi -> ekle (menünün sağ tarafındaki artı işaretine tıklayın) -> Yeni Kullanıcı Ekle -> E-posta adreslerini girerken e-posta kimliğini ekleyin.

görüntü açıklamasını buraya girin

Şimdi, bu sorunu çözecektir.


1
Bu cevap neden kabul edilmiyor? 2 günümü neden bu hataya götüren öğreticiyi takip ederek bulmaya çalışıyorum.
Ragnar

8

Yukarıdaki bir yorumda bahsediliyor ancak e-posta adresini hesabınız için Kullanıcı Yönetimi altına eklerseniz çalışmayacaktır. Ekranın görünüm kısmının altındaki Kullanıcı Yönetimi'ne tıklamalısınız .

görüntü açıklamasını buraya girin


Yılların geçtiğini biliyorum ama şimdi adresi hesaba ekledim ve güzel çalışıyor gibi görünüyor.
Peter

User ManagementBenim
tarafımda


2

Google Analytics'teki e-posta hesabının izinlerini "Oku ve Analiz Et" ten başka bir şeye değiştirene, kaydeden ve ardından izinleri tekrar "Oku ve Analiz Et" olarak değiştirene kadar 403 hatası alıyordum ve işe yaradı.


Bu yardımcı oldu. API'ler ve Yetkilendirme / Kimlik Bilgileri altında yeni bir "Hizmet Hesabı" oluşturdum; ve .p12 anahtar çiftini kaydetti. Daha sonra Analytics kullanıcı yönetimi konsoluna girdim ve Hizmet Kullanıcısının e-posta adresini ekledim. Ben kapalı kontrol PHP API kullanarak çalışır .p12 yetkilendirme, ancak yalnızca "Okuma ve Analiz" , sadece izinler listesinde.
Johnny O

2

Bu işe yaramazsa, indirdiğiniz JSON dosyanızı açmayı deneyin client_emailve bu e-posta adresini arayın ve kopyalayın ve Dosyayı Görüntüle'ye ekleyin.

Tıklamak

Analytics-Home Page ->Admin(left pane) -> User Management -> add (click on plus sign on right side of the menu) -> Add new User -> Add the client_email address which you copied.

Hala işe yaramazsa

Analytics-Homepage-> Admin ->Views->User Management(Click on add(+) symbol, add this ccopied client_email address and give permissions and save it.

2

Herhangi bir izin verilen zaman aldığımız bu mesaj client_email, içinde google alalytics , client_emailelindeki olan JSON dosyasından . client_emailUygulamanızda kullanmanıza izin vermek için Google Analytics sitesine gidin ve "Yönetici (ayar simgesi)" seçeneğini tıklayın

görüntü açıklamasını buraya girin

Sağ menü listesini göreceksiniz, orada "Kullanıcı Yönetimini Görüntüle" yi tıklayın

görüntü açıklamasını buraya girin

Burada "+" simgesi ve "kullanıcı ekle" göreceksiniz,

görüntü açıklamasını buraya girin

bir kez tıkladığınızda client_email, "e-posta adresi alanına" eklemeniz ve kaydetmeniz gerekir, gitmekte fayda var!

görüntü açıklamasını buraya girin


1

403 hatası alıyordum. Bu adımlar beni etrafından dolaştırdı. Açık olmak gerekirse, OAuth ile çalışan Google'ın "HelloAnalytics.php" örneğini almaya çalışıyordum (kullanıcı etkileşimi, cron işi vb. İçin uygun).

Analytics API'yi etkinleştirdikten sonra, API'ler ve Yetkilendirme / Kimlik Bilgileri altında yeni bir "Hizmet Hesabı" oluşturdum; ve .p12 anahtar çiftini kaydetti. Daha sonra Analytics kullanıcı yönetimi konsoluna girdim ve bu Hizmet Kullanıcısının e-posta adresini ekledim.

Ben kapalı kontrol ederseniz PHP API kullanarak .p12 yetkilendirme işleri sadece "Oku ve Analiz" , sadece izinler listesinde. "Kullanıcıları Yönet" ve / veya "Düzenle" eklersem, 403'ü alırım. Umarım bu yardımcı olur, birkaç saat boyunca bu konu üzerinde çalışıyordum ...


0

Ben de bu sorunu yaşadım ve sorunun çok fazla izin istemiş olmamdan kaynaklandığını fark ettim. Geliştirici Konsolu hem istemeye diyor http://www.googleapis.com/auth/analytics ve http://www.googleapis.com/auth/analytics.readonly izinler. Ben de subiddiayı kullanırken bu işe yaramadı . Bir subhak talebi, Google'a başka bir kullanıcı , benim durumumda hizmet hesabının sahibi olan Google hesabı adına çalışan bir erişim jetonu vermesi talimatını verir . analyticsİzni kaldırdım ve analytics.readonlyalt hak talebiyle uğraştım:

{
  "iss":"123123123123123-xxxxxxxxxxxxxxxxxxxxxxxx@developer.gserviceaccount.com",
  "sub":"me.example@gmail.com"
  "scope":"http://www.googleapis.com/auth/analytics",
  ...
}

Verilen Taşıyıcı jetonu, tamamen farklı Google hesaplarına ait olan, ancak gmail kullanıcımla (me.example@gmail.com) paylaşılan (salt okunur) profillere (en azından bazılarını) Google Analytics sorguları yapmama izin veriyor .


1
Google Analytics istemci SDK'sını kullandığımda abonelik nedir?
Dejell

Keşke bu işe yaradı! Aynısını yapmayı denediğimde şu hatayı alıyorum: Google_Auth_Exception [401]: OAuth2 jetonunu yenilerken hata oluştu, ileti: '{"error": "unauthorized_client", "error_description": "İstekte yetkisiz istemci veya kapsam." } '
SEoF

Devam etmenizi öneririm. Bunu yine de birkaç dakikada bir GA'dan gerçek zamanlı verileri almak için kullanıyoruz, hepsi bash kullanarak, daha az değil!
mogsie

0

Emin olarak bunu düzeltmeyi başardım

client = Google :: APIClient.new (: application_name => 'X',: application_version => '1')

Yukarıdaki uygulama adı değişkeni 'X, benim durumumda erişmek istediğim sitenin gerçek url'si olan MÜLK adı değil, GA kontrol panelindeki HESAP adı idi.

Kafa karıştırıcı, ama neyse ki düzeltildi (Google'a hayır teşekkürler!)


Bu 'X'i bulmaya çalışıyorum. Bir ekran görüntüsü paylaşabilir misin?
Dejell

0

Sorun, "alt" argüman sağlamadığımız için ortaya çıkıyor. Biz bunu sağlamazsak, arama bu uzun hizmet hesabı e-postası adına gerçekleşir.

Bu nedenle, raporda zaten erişim izni verdiğiniz bir e-posta ile bir alt bağımsız değişken sağlayın ve her şey yolunda gitmelidir!


0

Google Analytics'te oturum açmadığım için aynı hatayı aldım. Ben de analitik hesabımda oturum açarak sorunu çözdüm.



-1

API'yı kendisi için kullanmaya çalıştığınız kullanıcı, GA hizmetini etkinleştirmedi.
Sadece bir Google hesabına sahip olmak yeterli değildir .

... Ancak, yalnızca bir Google hesabına sahip olmak size otomatik olarak Analytics'e erişim hakkı vermez. Öncelikle, tek seferlik, basit bir işlem olan Google Analytics'e kaydolmalısınız ...


-1

Bir hizmet hesabı kullanmak yerine, OAuth client IDkimlik bilgilerini kullanarak yeni kullanıcı izinleri ekleme ihtiyacını ortadan kaldırabilirsiniz (bu konudaki en iyi yanıtlara göre) .

Git API kimlik bilgileri pano ve "kimlik oluşturma" tıklayın -> "OAuth istemci kimliği". Daha sonra, API'yi doğrulamak için ihtiyaç duyacağınız bir istemci kimliği ve bir istemci sırrı almalısınız.

Artık kullanım OAuth2WebServerFlowbaşına temelinde kimlik doğrulaması yapmak için kullanabilirsiniz. İşte bir python3 örneği:

from apiclient.discovery import build
from oauth2client.client import OAuth2WebServerFlow

# TODO: Fill these in...
CLIENT_ID = ''
CLIENT_SECRET = ''
VIEW_ID = ''

flow = OAuth2WebServerFlow(
    CLIENT_ID, CLIENT_SECRET,
    'https://www.googleapis.com/auth/analytics.readonly',
    redirect_uri='urn:ietf:wg:oauth:2.0:oob'
)

authorize_url = flow.step1_get_authorize_url()
print('Receive code from:\n%s\n' % authorize_url)
code = input('Enter code here:').strip()
credentials = flow.step2_exchange(code)

api = build('analyticsreporting', 'v4', credentials=credentials)
body={
    'reportRequests': [{
        'viewId': VIEW_ID,
        'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
        'metrics': [{'expression': 'ga:sessions'}],
        'dimensions': [{'name': 'ga:country'}]
    }]
}

data = api.reports().batchGet(body=body).execute()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.