2012-10-11 198 views
107

我創建一個腳本,基於谷歌Analytics(分析)一步一步從這個網頁指南:分析谷歌API錯誤403:「用戶不具有任何谷歌Analytics帳戶」

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

授權完成沒有問題,直到它試圖訪問數據。返回代碼是403,和錯誤消息是:

User does not have any Google Analytics account

此消息沒有感覺:我的帳戶有谷歌Analytics的數據,跟蹤多個網站,我可以從Web瀏覽器訪問它沒有問題。我已經通過Google API控制檯允許Analytics API,並且API訪問權限爲我提供了正確的數據。

回答

0

您正嘗試使用該API的用戶尚未啓用他的GA服務。
Simply having a google account is not enough

...However, just having a Google account does not automatically grant you access to Analytics. First, you must register for Google Analytics, a one-time, simple process...

+1

通過對他/她簽署了GA已經事物的聲音。 –

216

我也有這個問題。我通過將我的服務帳戶的電子郵件地址添加到我希望訪問的Google Analytics配置文件中對其進行了修復。

我通過查看Google API控制檯中的「API訪問」標籤獲取了該服務帳戶的電子郵件地址(類似[email protected])。

然後,我遵循Google's instructions for adding an email address to an Analytics profile。現在一切都按預期工作。

祝你好運!

+6

這是最好的答案,我試了一下,它的作品像魅力! 非常感謝@塞巴斯蒂安! – mongotop

+1

如果您的帳戶中有多個配置文件,並且您希望使用GA API訪問其數據,那麼您應該繼續將[email protected]添加到Google Analytics配置文件中,或者在不涉及手動方式的情況下采用更有效的方式。謝謝! – mongotop

+2

@mongotop不客氣!不幸的是,我不知道這樣做的更有效的方式 - 如果你找到一個,請在評論中告訴我們。 –

4

如果您從未使用試圖驗證的Google帳戶登錄,您也會收到此錯誤。

+6

我會在這裏留下:鏈接到[Google Analytics(分析)網絡界面](https://www.google.com/analytics/web) – naXa

+0

並且電子郵件的密碼在哪裏?我嘗試了在下載.p12證書之前顯示我的密碼,但它無效 – ymakux

0

我也有這個問題,我發現問題是我要求太多的權限。開發者控制檯說要同時請求http://www.googleapis.com/auth/analyticshttp://www.googleapis.com/auth/analytics.readonly權限。這在我還使用sub索賠時沒有奏效。 A sub聲明指示Google發佈訪問令牌,該令牌代表另一位用戶運營- 在我的情況下是擁有該服務帳戶的Google帳戶。我刪除了analytics許可,並堅持analytics.readonly與子要求:

{ 
    "iss":"[email protected]nt.com", 
    "sub":"[email protected]" 
    "scope":"http://www.googleapis.com/auth/analytics", 
    ... 
} 

發出承載令牌可以讓我做(至少部分)谷歌Analytics(分析)查詢輪廓由完全不同的谷歌帳戶擁有,但已與我的Gmail用戶([email protected])共享(只讀)。

+1

當我使用Google Analytics客戶端SDK時,什麼是sub? – Dejell

+0

我希望這個工作!我在嘗試執行相同操作時收到以下錯誤:Google_Auth_Exception [401]: 刷新OAuth2令牌時出錯,消息:'{「error」:「unauthorized_client」,「error_description」:「請求中未經授權的客戶端或作用域。 「 }' – SEoF

+0

我建議你堅持下去。我們仍然使用它來每隔幾分鐘從GA獲取實時數據,全部使用bash,不會少於! – mogsie

0

我設法確保解決這一問題,該

客戶端=谷歌:: APIClient.new(:應用程序名稱=> 'X',:APPLICATION_VERSION => '1')

應用程序名稱變量'上面的X是GA儀表板上的ACCOUNT名稱,而不是屬性名稱,在我的情況下是我想要訪問的網站的實際URL。

混亂,但值得慶幸的是固定的(沒有由於谷歌!)

+0

我正在試圖找到'X'。你能發佈一個屏幕截圖嗎? – Dejell

0

的問題發生,因爲我們不提供一個「子」的說法。除非我們提供此信息,否則該通話將代表該長期服務帳戶電子郵件發生。

所以,只需提供一個子參數,其中包含一個您已經在報告中授予訪問權限的電子郵件,並且應該可以正常工作!

55

只需添加您指定的電子郵件(的[email protected]nt.com格式)

到用戶管理:

User does not have any Google Analytics account

希望它可以幫助你

+1

可悲的是,錯誤沒有消失。仍然消息:GAPI:無法請求帳戶數據。錯誤:「{」error「:{」errors「:[{」domain「:」global「,」reason「:」insufficientPermissions「,」message「:」用戶沒有任何Google Analytics帳戶。「}],」代碼「:403,」message「:」用戶沒有任何Google Analytics帳戶。「}}」 – JosFabre

+2

這很完美!謝謝! –

+1

感謝你..我終於工作了。 – CyberNinja

2

我得到的403錯誤,直到我更改的權限將Google Analytics(分析)內部的電子郵件帳戶從'讀取&分析'轉換爲其他內容,保存它,然後將權限更改回'讀取&分析',它的工作。

+0

這有助於。我在API&Auth/Credentials下創建了一個新的「服務帳戶」;並保存.p12密鑰對。然後我進入Analytics用戶管理控制檯,並添加了服務用戶的電子郵件地址。使用PHP API的.p12授權工作,但僅限於在權限列表中檢查「只讀」和「分析」*。 –

1

我碰到了403錯誤。這些步驟讓我圍繞它。很明顯,我試圖讓Google的示例「HelloAnalytics.php」與OAuth一起工作(無需用戶交互,適合cron作業等)。

啓用Analytics API後,我在API & Auth/Credentials下創建了一個新的「服務帳戶」;並保存.p12密鑰對。然後我進入了Analytics用戶管理控制檯,並添加了該服務用戶的電子郵件地址。使用PHP API

的.p12授權作品,如果我檢查過「讀&分析」 只能在權限列表。如果我添加「管理用戶」和/或「編輯」,我得到了403.希望這是有幫助的,我在這磨了幾個小時...

4

它在上面的評論中提到,但如果您在帳戶的用戶管理下添加電子郵件地址,它將不起作用。您必須單擊屏幕上視圖部分下的用戶管理。

enter image description here

相關問題