gpt4 book ai didi

python - Google Analytics API - 我可以使用我自己的 Google 帐户向其他人显示报告吗?

转载 作者:太空宇宙 更新时间:2023-11-04 03:45:45 24 4
gpt4 key购买 nike

我的客户运营着一个实现 Google Analytics(跟踪)的网站。

她想向利益相关者报告一些核心统计数据(综合浏览量)。

利益相关者不应访问我客户的 Google(分析)帐户。

是否可以使用 Google Analytics API 向使用自己的 Google 帐户登录的用户报告?

更新/已解决

我发现实现它的最简单方法是使用 python 获取“不记名”访问 token 。您只需要一个 Google 服务帐户和一个私钥(API 和身份验证 > 凭据)。让您的 JavaScript 客户端从您的服务器请求访问 token 并使用 gapi.auth.setToken方法进行授权。现在您可以调用类似 gapi.client.analytics.management.accounts.list 的方法.

注意:您需要在 de developer console 中激活 Analytics API我还必须使用 openssl 创建一个 PEM 文件为了让 rsa 模块接受 key 。

这是我使用的 python 代码(简化版)。

from os import path
import base64
import rsa
import json
import calendar
import datetime
import urllib
iat = calendar.timegm(datetime.datetime.utcnow().utctimetuple())
exp = iat + 3600
header = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9" # {"alg":"RS256","typ":"JWT"}
claimset = {
'iss': "MY_DEVELOPER_ACCOUNT@developer.gserviceaccount.com",
'scope': "https://www.googleapis.com/auth/analytics.readonly",
'aud': "https://accounts.google.com/o/oauth2/token",
'exp': exp,
'iat': iat
}
claimset = json.dumps(claimset).encode('utf-8')
claimset = base64.urlsafe_b64encode(claimset)
signature = "%s.%s" % (header, claimset)
signature = rsa.sign(signature.encode('utf-8'), rsa.PrivateKey.load_pkcs1(open(PATH_TO_PRIVATE_KEY).read(), format='PEM'), 'SHA-256')
signature = base64.urlsafe_b64encode(signature)
postdata = {
'grant_type': "urn:ietf:params:oauth:grant-type:jwt-bearer",
'assertion': "%s.%s.%s" % (header, claimset, signature)
}
response = json.loads(urllib.urlopen("https://accounts.google.com/o/oauth2/token", urllib.urlencode(postdata)).read())
print response

最佳答案

你应该看看Using OAuth 2.0 for Server to Server Applications .

通过以用户身份将服务帐户电子邮件添加到您的客户 Google 分析帐户,只需为其授予简单的读取权限即可。然后您将能够使用服务帐户访问 Google Analytics API 并显示您的客户想要的统计信息。无需登录,他们只能看到您选择从 Google Analytics API 中删除的信息。

关于python - Google Analytics API - 我可以使用我自己的 Google 帐户向其他人显示报告吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23906486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com