【问题标题】:Sample python code provided by GCP - service variable undefinedGCP 提供的示例 python 代码 - 服务变量未定义
【发布时间】:2022-12-03 10:05:41
【问题描述】:

以下示例代码由 GCP 提供,用于在您提供 group_id 时使用 restAPI 列出组成员身份。 Code sample can be found here. 我可以直接从the URI given 运行示例,但是当尝试使用提供的示例代码从 Python 运行它时。我的 IDE intellisense 说服务最后一行是一个未定义的变量。我在 GCP 中找不到任何东西来指示这可能来自哪个库或我应该用什么替换它。

def search_transitive_memberships(service, parent, page_size):
  try:
    memberships = []
    next_page_token = ''
    while True:
      query_params = urlencode(
        {
          "page_size": page_size,
          "page_token": next_page_token
        }
      )
      request = service.groups().memberships().searchTransitiveMemberships(parent=parent)
      request.uri += "&" + query_params
      response = request.execute()

      if 'memberships' in response:
        memberships += response['memberships']

      if 'nextPageToken' in response:
        next_page_token = response['nextPageToken']
      else:
        next_page_token = ''

      if len(next_page_token) == 0:
        break;

    print(memberships)
  except Exception as e:
    print(e)

# Return results with a page size of 50
search_transitive_memberships(service, 'groups/01234567abcdefg', 50) ## <- service undefined

感谢您帮助我确定我需要添加什么才能使服务得到认可。

【问题讨论】:

    标签: python google-cloud-platform gcloud google-iam


    【解决方案1】:

    好的,看来 GCP 提供的代码示例中缺少的是构建和使用服务对象的步骤。

    可以在这里找到相关文档:https://github.com/googleapis/google-api-python-client/blob/main/docs/start.md#building-and-calling-a-service

    所以对于我上面最后一行的示例实际上是:

    service = build('cloudidentity', 'v1')
    search_transitive_memberships(service, 'groups/02y3w2474djjj1f', 50)
    service.close
    

    googleapiclient.discovery导入build

    上面的 Github 链接还详细说明了如何提供 oauth 信用以使其正常工作。

    【讨论】:

      猜你喜欢
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-26
      相关资源
      最近更新 更多