2

我正在编写一个 ColdFusion (CF) 应用程序,该应用程序需要访问其自己的 Google Analytics (GA) 数据(而不是其他用户的)。一些研究表明我想使用简单的 API 密钥,但后来我遇到了警告说这已被弃用,我应该使用 Oauth 2 和服务帐户。

我在这里找到了一个有效的 CF/Oauth2 演示,但它不是为使用服务帐户而设计的。然后我在 StackOverflow上找到了一个帖子,其中包含服务帐户身份验证的说明,但代码是用 PHP 编写的。

我已经在 GA 中创建了一个服务帐户,注册了应用程序,下载了私钥等。但我不知道如何使它与 CF 一起工作。我可以在网上找到服务帐户身份验证或 CF Oauth 2 身份验证的示例,但不能同时找到两者。

有人可以提供一个使用 Oauth 2 和服务帐户向 Google Analytics 进行身份验证的 ColdFusion 工作示例吗?

谢谢!

4

2 回答 2

1

.jar将可从Google Analytics API Client Library for Java下载的 Google 文件安装到 CF 服务器的 WEB-INF/lib 文件夹中。

在 ColdFusion 中创建对象。这是一个例子:

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

然后,您将几乎完全按照 Google 的说明使用 java 对象。

有太多行要列出(但它不是太疯狂)所以你可以关注这篇文章:Accessing Google Analytics API with Service Account and Coldfusion

于 2013-12-29T04:20:24.707 回答
0

看看: https ://web.archive.org/web/20160409194848/http://www.jensbits.com/2012/04/05/google-analytics-reporting-api-using-oauth-2-with -冷熔/

创建登录 URL 并检索登录 URL 的“代码”参数

当应用程序在 Google API 控制台中注册 api 访问权限时,Google 会设置客户端 ID 和客户端密码。

重定向 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 将提示用户允许通过应用访问他们的 Google 内容,并且 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" />

使用有权访问分析的 Google 帐户登录

于 2012-12-06T21:38:03.503 回答