【问题标题】:Getting all groups an user is a member of through oauth (google)通过oauth(google)获取用户所属的所有组
【发布时间】:2012-07-21 13:26:02
【问题描述】:

我正在构建一个网络应用程序,允许用户使用 google-apps 帐户登录。我需要一些用户信息、新电子邮件的数量、日历访问权限以及用户所属的所有组(在我的域中)。 问题是我找不到正确的范围(和端点)来获取用户所属的组。有人知道这是否可能吗?以及它是如何完成的......

到目前为止我得到了什么: 我玩过 Groups-provisioning 范围 (https://apps-apis.google.com/a/feeds/groups/),问题是您必须是管理员才能查看数据。我希望所有用户都能看到会员资格... google oauth playground 不是让我更进一步 (https://code.google.com/oauthplayground/)

【问题讨论】:

    标签: oauth-2.0 google-apps google-groups


    【解决方案1】:

    我遇到了同样的问题并解决了。

    1. 需要的范围是“https://apps-apis.google.com/a/feeds/groups/”

    2. API 请求如下所示:"https://apps-apis.google.com/a/feeds/group/2.0/{domain}/{group name}/member" 作为请求头使用:'Authorization': "OAuth " + {access_token}

    3. google 应用帐号持有人必须按照以下手册(至少阅读规则)具有角色:

    为下一代控制面板启用 Provisioning API:

    1. 登录您的管理员帐户并选择域设置。
    2. 选择“用户设置”选项卡。
    3. 选中启用 Provisioning API 的复选框,然后保存您的更改。

    为当前控制面板启用 Provisioning API:

    1. 登录到您的管理员帐户并选择“用户和组”选项卡。
    2. 选择“设置”子选项卡。
    3. 选中复选框以启用 Provisioning API 并保存您的更改。

    域管理员只能更改此设置。

    【讨论】:

    • 反之亦然吗?我想要的是我发送一个带有我的域和用户名的请求。返回的 anwser 会给我给定用户所属的所有组......(类似于:apps-apis.google.com/a/feeds/group/2.0{domain}/member/ {memberId}) 操场会让我这样做..
    • 你好,不幸的是,我认为这只是通过 oauth 2.0 获取用户组的一种方式。启用配置 API 后,使用线程获取域信息非常快(异步请求调用“apps-apis.google.com/a/feeds/group/2.0/#{domain}/#{group_id}/member”),对管理员应用程序帐户有用的是 refresh_token,它可以帮助您缓存配置 API 信息,而不是由管理员为域中的每个帐户启用配置 api。您在这些 url 中找到了所有信息:developers.google.com/accounts/docs/OAuth2WebServercode.google.com/oauthplayground
    【解决方案2】:

    因此,这意味着您必须列出域中的组,并将用户的电子邮件与域中所有组中的所有电子邮件进行比较。

    【讨论】:

      猜你喜欢
      • 2023-03-21
      • 2011-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-30
      • 2014-07-31
      • 1970-01-01
      • 2017-10-30
      相关资源
      最近更新 更多