1

我正在尝试将 Streamsets 连接到 Google Analytics。但是我无法设置它。使用常规 CURL 请求,我将执行以下操作:

步骤 1) 前往以下链接获取授权码:

https://accounts.google.com/o/oauth2/auth?client_id={CLIENTID}.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=https://www.googleapis.com/auth/analytics&response_type=code

步骤 2) 执行发布请求以获取访问和更新令牌

curl -i -v --request POST -H "Content-Type: application/x-www-form-urlencoded" -d "code={AUTHORIZATION CODE FROM STEP 1}&client_id={CLIENT ID}.apps.googleusercontent.com&client_secret={CLIENT SECREP}&scope=https://www.googleapis.com/auth/analytics&grant_type=authorization_code&redirect_uri=urn:ietf:wg:oauth:2.0:oob" https://accounts.google.com/o/oauth2/token

步骤 3)

执行实际的 curl 请求:

curl -X POST -H "Authorization: Bearer ya29.{AUTH RESPONSE}" -H "Content-Type: application/json" --data "{\"reportRequests\": [{\"viewId\": \"ga:{NUMBER}\",\"dateRanges\": [{\"start_date\": \"2016-01-01\", \"endDate\": \"yesterday\"}],\"metrics\": [{\"expression\":\"ga:sessions\"}], \"dimensions\": [{\"name\":\"ga:dimensions2\"}, {\"name\":\"ga:dimensions3\"}],\"samplingLevel\": \"LARGE\",\"pageToken\": \"\", \"pageSize\": 10000}]}" https://analyticsreporting.googleapis.com/v4/reports:batchGet

在 Streamsets 中,我尝试像这样设置它:(我使用图像是因为它更容易理解。)

1) 我将资源 URL 与步骤 3 相同,在那里我获取数据

2)Request body也和第3步一样

3) 这是 OAuth2 屏幕。我模糊了凭据。

3b)我尝试了什么:我也尝试将凭据授予类型与客户端 ID 和客户端密码一起使用。

但是我仍然不知道如何获取我的数据。我没有收到任何输出,并且使用 CURL 请求获取数据在我看来像是一个 3 步过程,而不是 2 步第一步(因为它似乎在 Streamsets 中)。Streamsets 能够获取这个还是我应该编写自己的起源?因为对我来说,乍一看似乎它无法做到这一点。我已经阅读了 Streamsets 和 Google Analytics 手册,但它们并没有真正帮助我很多。

先感谢您。

4

0 回答 0