在 Content API for Shopping 中,您可以使用 Account 资源中的某个字段来管理用户及其访问权限。Merchant API 使用名为 User 的专用资源和相应的方法(create、delete、get、list、path)替换了此资源。如需了解详情,请参阅控制对您账号的访问权限。
主要差异
与 Content API for Shopping 相比,Merchant API 在用户管理方面具有以下优势:
- 专用资源:这种方式可更精细、更直接地控制哪些人可以访问您的 Merchant Center 账号以及他们可以执行哪些操作。
- RESTful 资源名称:在 Merchant API 中,通过完整资源名称(例如 accounts/12345/users/example@example.com)来标识User资源。
- me别名:您可以在资源名称中使用别名- me代替电子邮件地址来指代经过身份验证的用户,例如- accounts/12345/users/me。
- 整合的访问权限:Merchant API 将 Content API 中的布尔值访问权限字段(例如 admin、reportingManager)整合为一个可重复的access_rights字段。
- 用户邀请和验证:Merchant API 引入了明确的用户状态(PENDING或VERIFIED)。创建新用户后,在用户接受邀请之前,他们处于PENDING状态。这样一来,API 就可以了解用户的状态,而 Content API for Shopping 无法做到这一点。 添加 ## 请求
Merchant API 使用以下请求网址来管理用户:
- GET /accounts/v1/accounts/{account}/users/{email}
- GET /accounts/v1/accounts/{account}/users
- POST /accounts/v1/accounts/{account}/users
- PATCH /accounts/v1/accounts/{account}/users/{email}
- DELETE /accounts/v1/accounts/{account}/users/{email}
下表比较了 Content API for Shopping 与 Merchant API 之间的请求网址。
| 请求说明 | Content API for Shopping | Merchant API | 
|---|---|---|
| 获取账号的用户 | GET {api_version}/{merchantId}/accounts/{accountId} | GET {api_version}/accounts/{account}/users | 
| 创建用户 | PATCH {api_version}/{merchantId}/accounts/{accountId} | POST {api_version}/accounts/{account}/users | 
| 更新用户 | PATCH {api_version}/{merchantId}/accounts/{accountId} | PATCH {api_version}/accounts/{account}/users/{email} | 
| 删除用户 | PATCH {api_version}/{merchantId}/accounts/{accountId} | DELETE {api_version}/accounts/{account}/users/{email} | 
标识符
下表比较了 Content API for Shopping 和 Merchant API 中请求所使用的标识符。
| 标识符说明 | Content API for Shopping | Merchant API | 
|---|---|---|
| 账号标识符 | accountId | account(在accounts/{account}中) | 
| 用户标识符 | AccountUser对象中的email_address | email(在accounts/{account}/users/{email}中) | 
方法
下表比较了 Content API for Shopping 和 Merchant API 的方法。
| Content API for Shopping | Merchant API | 适用范围和备注 | 
|---|---|---|
| accounts.update | users.create | 为账号创建新用户。 | 
| accounts.get | users.get | 检索单个用户。 | 
| accounts.get | users.list | 列出账号的所有用户。 | 
| accounts.update | users.update | 更新用户的访问权限。 | 
| accounts.update | users.delete | 从账号中删除用户。 | 
详细的字段更改
按如下所示更新字段的使用方式:
| Content API for Shopping | Merchant API | 说明 | 
|---|---|---|
| users(重复AccountUser) | users(重复User) | User资源现在是具有自己服务的顶级资源。 | 
| AccountUser.email_address | CreateUserRequest.user_id和User.name的一部分 | 用户的电子邮件地址现在是资源名称的一部分。在创建时,在 user_id字段中指定该值。 | 
| AccountUser.admin | access_rights: "ADMIN" | Merchant API 将布尔值 admin字段替换为access_rights枚举中的ADMIN值。 | 
| AccountUser.order_manager、AccountUser.payments_manager、AccountUser.payments_analyst | access_rights: "STANDARD" | Merchant API 会将这些角色替换为 STANDARD访问权限。 | 
| AccountUser.reporting_manager | access_rights: "PERFORMANCE_REPORTING" | reporting_manager角色现在是PERFORMANCE_REPORTING访问权限。 | 
| AccountUser.read_only | access_rights: "READ_ONLY" | read_only角色现在是READ_ONLY访问权限。 | 
| 不可用 | User.name | 包含用户的完整资源名称,例如 accounts/{account}/users/{email}。 | 
| 不可用 | User.state | 表示用户的邀请状态,可以是 PENDING或VERIFIED。 |