如何接入Looker Studio API?

问题描述 投票:0回答:1

我想使用 python 添加或删除 Looker Studio 仪表板的用户权限,
但我在身份验证过程中遇到问题。

我尝试使用服务帐户或 OAuth2 客户端获取 Looker Studio API 的访问令牌,
但总是出现权限被拒绝的错误。

iat = int(time.time())
exp = iat + 3600

claim_set = {
    "iss": service_account["client_email"],
    "scope": "https://www.googleapis.com/auth/datastudio",
    "aud": "https://oauth2.googleapis.com/token", "exp": exp, "iat": iat}

encoded = jwt.encode(claim_set, service_account["private_key"], algorithm="RS256")
params = {"grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer", "assertion": encoded}
response = requests.post("https://oauth2.googleapis.com/token", params=params)

access_token = response.json()["access_token"]

headers = {"Authorization": f"Bearer {access_token}", "Content-Type":"application/x-www-form-urlencoded"}
url = f"https://datastudio.googleapis.com/v1/assets/{assetName}/permissions"
permissions = requests.get(url, headers=headers)
permissions.text

我使用上面的Python代码来访问looker studio API。

service_account
是json关键对象。

它回来了

{'error': {'code': 403, 'message': 'The caller does not have permission', 'status': 'PERMISSION_DENIED'}}

其次,我尝试使用OAuth2客户端,
但每次登录google都会出现

Error 400: invalid_scope

我认为可能是我没有添加范围“https://www.googleapis.com/auth/datastudio”
来自 OAuth 同意屏幕,但我无法做到这一点,即使我确实启用了 Looker Studio API。

我尝试通过网络搜索收集更多信息,
但我找不到解决方案或其他方法,所以我在这里问。

因此我需要在参考中发出 HTTP 请求的权限,
https://developers.google.com/looker-studio/integrate/api/reference/permissions/addMembers

google-cloud-platform google-api google-oauth looker-studio looker
1个回答
0
投票

这里有同样的问题,遵循 OAuth2 客户端上的文档没有帮助,因为域范围的委派不能解决问题。

© www.soinside.com 2019 - 2024. All rights reserved.