javascript - 您如何通过 Googlescript API 离开 googlegroup
问题描述
我想要做的是通过使用 API 离开一个 googlegroup,而不必单击该组本身。这未在此处的 API 文档中显示:Google Groups API
在尝试通过 API 找到离开小组的方法时,我确实发现我是我没有加入的不同小组的成员,但似乎没有记录的离开他们的方式。去这里:枚举角色。这让我可以看到我在一个组中的角色以及使用的相应代码如下。
有一个用于删除组成员身份的企业管理 API,但这不是企业设置,因此 AdminGroupSettings 不能在此范围内使用。
function getGroupNames() {
try {
var groups = GroupsApp.getGroups();
}
catch(err) {
console.log("Permission error [getGroup]: Cannot access group members list!");
}
for (var i = 0; i < groups.length; i++) {
var group = groups[i];
var currentUser = Session.getActiveUser();
// https://stackoverflow.com/questions/62801809/in-google-app-scripts-how-can-you-get-the-group-name-with-the-group-email
// Groups Settings API/AdminGroupSettings
// var groupName = AdminGroupsSettings.Groups.get('unsubscribe-me500@arefilled.site').name;
// console.log("Attempting to get group name: " + groupName + " from address " + groups[i]);
if (group.getRole(currentUser.getEmail()) == GroupsApp.Role.MEMBER){
// How to leave group??
console.log('You are a member of ' + group.getEmail());
continue;
}
if (group.getRole(group.getEmail()) == GroupsApp.Role.INVITED){
// leave group
console.log('You are invited to ' + group.getEmail());
continue;
}
if (group.getRole(group.getEmail()) == GroupsApp.Role.MANAGER){
console.log('You are manager of ' + group.getEmail());
continue;
}
if (group.getRole(group.getEmail()) == GroupsApp.Role.OWNER){
// leave group
console.log('You are owner of ' + group.getEmail());
continue;
}
if (group.getRole(group.getEmail()) == GroupsApp.Role.PENDING){
// leave group
console.log('You are pending to ' + group.getEmail());
continue;
}
}
}
是否可以通过 Google Groups API 离开群组?如果是这样,怎么做?
解决方案
回答:
您需要使用 Admin SDK Directory API 从组中删除成员。
更多信息:
Directory API 有一个members.delete方法,可让您从 Google 群组中删除成员。
在 Apps Script 中,您需要将AdminDirectory
Advanced 服务添加到项目中,并在请求中指定要删除groupKey
的组和成员的名称:membersKey
const groupKey = "XXXXXXXXX"
const memberKey = "YYYYYY"
AdminDirectory.Members.remove(groupKey, memberKey)
成功删除将导致HTTP 204
响应。
注意:您需要以域管理员身份运行此代码。如果不使用 Admin SDK,则无法通过 API 从 Google 群组中删除成员。
推荐阅读
- python - 使用类制作 Tkinter Gui
- html - v-slot 只能用于组件或
New to using Vue & nuxt, but I am getting an error that: v-slot can only be used on components or
Any advice on what to do, I googled it, looked at Nuxt documentation, and I'm a little lost. Any advic
- sql - Coldfusion - 需要在开始和结束标签之间获取字符串数据
- python - Python keras sequential model predicts the same value (y_train average) for all inputs
- machine-learning - 我的 PyTorch GAN 正在从产生随机噪声变为没有收敛的黑暗。为什么是这样?
- python - Different File Paths in Python ZipFile Depending on .write() vs .writestr()
- javascript - Collapsible div inside of bootstrap table
- python - 使用 gspread acell 获取特定的工作表范围
- python - 404 错误 API 调用 Pexels Python
- r - R:根据某些条件对变量求和