基于BaseCamp API的用户增删及SCIM类配置技术问询
BaseCamp API:用户创建/删除(v1、v2、v3)及SCIM支持方案
嘿,我来帮你理清楚BaseCamp各版本API里用户创建和删除的实现方式,还有SCIM配置的相关情况——这确实是团队集成BaseCamp时经常碰到的问题,希望下面的内容能解决你的疑惑:
BaseCamp v1
- 创建用户:v1提供了全局用户创建接口
POST /users.json,需要管理员权限,请求体要包含用户核心信息,示例如下:{ "user": { "email_address": "new-user@example.com", "name": "New User", "password": "your-secure-password" } } - 删除用户:使用
DELETE /users/{user_id}.json接口,同样需要管理员权限,执行后会全局删除该用户(不是仅移除项目权限)。
BaseCamp v2
- 创建用户:v2的全局创建接口还是
POST /users.json,但字段略有调整,需要拆分姓名为first_name和last_name,示例请求体:{ "user": { "email_address": "new-user@example.com", "first_name": "New", "last_name": "User", "password": "your-secure-password" } } - 删除用户:全局删除用
DELETE /users/{user_id}.json(管理员权限)。如果你只是想移除用户在某个项目的权限,那你提到的POST /projects/{project_id}/accesses.json是添加权限的接口,删除项目权限需要用DELETE /projects/{project_id}/accesses/{access_id}.json。
BaseCamp v3(BaseCamp Next)
v3的API设计和前两个版本差异很大,更侧重"工作空间/桶(Bucket)"的概念,这里的用户管理逻辑也有变化:
- 创建用户:v3没有直接的全局创建用户接口,用户必须通过邀请加入。你可以用
POST /buckets/{bucket_id}/people.json给指定工作空间/项目组发送邀请,用户接受后才会成为平台用户;如果要邀请用户加入整个账户,管理员可以用POST /accounts/{account_id}/people.json。请求体示例:{ "person": { "email_address": "new-user@example.com", "name": "New User" } } - 删除用户:v3里没有"彻底删除用户账号"的操作,只能移除用户在特定工作空间/账户的权限。比如移除某个工作空间的权限用
DELETE /buckets/{bucket_id}/people/{person_id}.json;移除整个账户的权限用DELETE /accounts/{account_id}/people/{person_id}.json,这会取消该用户在账户下所有项目的访问权,但用户的BaseCamp账号本身不会被删除(因为用户可能属于多个账户)。
SCIM配置方案
BaseCamp官方目前没有原生支持SCIM。如果你的团队需要通过SCIM自动化用户生命周期管理,通常有两种解决方案:
- 基于BaseCamp各版本的API自行封装SCIM兼容接口,把SCIM的创建、删除、更新操作映射到BaseCamp的对应API上。
- 使用第三方集成工具(比如Zapier、Make等),通过webhook或定时任务同步用户数据,模拟SCIM的功能。不过这种方式在灵活性和实时性上会有一些限制。
补充一下你提到的POST /projects/1/accesses.json——这个接口在v2和v3里都是给已有用户添加项目权限的,不是创建新用户的接口,你的理解是对的。
内容的提问来源于stack exchange,提问作者Ziba Leah
相关产品推荐
相关产品推荐

