我有一个web应用程序,我想知道当前登录的用户是某个特定Google Group的成员、管理人员还是所有者(您可以通过从组页面点击"members"找到相同的信息)。理想情况下,还可以列出组的所有成员、经理和所有者。
Members API (https://developers.google.com/admin-sdk/directory/v1/reference/members/list)看起来很有希望,但是当我在API浏览器中尝试它时,即使我提供了OAuth权限,我也会得到Not Authorized to access this resource/api
错误。我可以使用Google Groups网站看到成员列表,所以看起来我有权限,但我不是Google Apps域的管理员。
知道我可能做错了什么吗?谢谢!
Admin SDK中的任何API调用都要求授权用户是调用它们所针对的域的管理员。您需要使用管理员帐户才能获得成功的响应。
有一个API方法可以获取属于特定组的成员。请参阅此处的文档:
https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members get_all_members
您可以使用GroupsApp来获取组的成员列表,前提是您可以访问组的视图成员。最好的办法是设置组的选项,允许任何人查看成员。
然后您可以使用Session.getActiveUser()
并检查该名称是否在列表中。所有这些都可以在web应用的GAS中完成,而不需要api。