2012-12-06 181 views
2

我正在編寫一個需要訪問自己的Google Analytics(GA)數據(而不是其他用戶)的ColdFusion(CF)應用程序。一些研究表明我想使用一個簡單的API密鑰,但後來我遇到警告,這已被棄用,我應該使用服務帳戶Oauth 2。ColdFusion - >使用oauth 2和服務帳戶的Google Analytics API

我發現了一個可用的CF/Oauth2演示here,但它並不是用來使用服務帳戶的。然後,我找到一個post on StackOverflow,其中包含服務帳戶驗證的說明,但代碼使用PHP。

我在GA中創建了一個服務帳戶,註冊了應用程序,下載了私鑰等,但我不知道如何使它與CF一起工作。我可以在線找到服務帳戶身份驗證或CF Oauth 2身份驗證的示例,但不能同時使用這兩種身份驗證。

有人可以提供一個ColdFusion使用Oauth 2和服務帳戶對Google Analytics進行身份驗證的工作示例嗎?

謝謝!

+0

你看到這個帖子? [Google oauth token給405錯誤](http://stackoverflow.com/questions/13288949/google-oauth-token-giving-405-error/13289615#13289615)請參閱接受該問題的答案/示例。 –

回答

0

看看: http://www.jensbits.com/2012/04/05/google-analytics-reporting-api-using-oauth-2-with-coldfusion/

創建登錄網址和檢索「代碼」 參數登錄URL

客戶端ID和客戶端密鑰是由谷歌設置,當應用程序被註冊爲API訪問Google API控制檯。

重定向uri是用戶在認證後發送到的服務器上的位置。此uri在應用程序註冊期間在Google API控制檯中註冊。

這些數值可以被列入的Application.cfc:

<cfset request.oauthSettings = {scope = "https://www.googleapis.com/auth/analytics.readonly", 
     client_id = "YOUR-CLIENT-ID.apps.googleusercontent.com", 
     client_secret = "YOUR-CLIENT-SECRET", 
     redirect_uri = "YOUR-REDIRECT-URI", 
     state = "optional"} /> 

用戶登錄網址

登錄網址將提示用戶是否允許通過的應用程序和一個「代碼來訪問他們的內容谷歌「請求變量將在URL中返回。請參閱形成URL以獲取更多詳細信息。

<!--- create login url ---> 
<cfset loginURL = "https://accounts.google.com/o/oauth2/auth?scope=" & request.oauthSettings["scope"] 
        & "&redirect_uri=" & request.oauthSettings["redirect_uri"] 
        & "&response_type=code&client_id=" & request.oauthSettings["client_id"] 
        & "&access_type=online" /> 

登錄與谷歌帳戶訪問分析

+0

是的,我已經下載了該演示的代碼,並且現在要使用該路線,但它並未使用Google API服務帳戶。我想使用服務帳戶來避免用戶權限和redirect-uri步驟,因爲我只訪問自己的數據(而不是其他用戶)。 Jen的網站幫了我不少 - 也許我會問她關於服務帳戶的問題...... – SetFreeByTruth

1

安裝從谷歌.jar文件可在Google Analytics API Client Library for Java下載到WEB-INF/lib中的CF服務器的文件夾中。

在ColdFusion中創建對象。下面是一個簡單的例子:

variables.HTTP_Transport = createObject("java", "com.google.api.client.http.javanet.NetHttpTransport").init(); 

你會然後按照谷歌已經使用Java對象幾乎準確的說明。

有太多的行列表(但不是太瘋狂了),所以你可以按照這個帖子:Accessing Google Analytics API with Service Account and Coldfusion

相關問題