身份认证与客户端¶
Product SDK 使用完整的产品 API 服务地址和个人访问令牌创建客户端。令牌按原始值传入,客户端通过 X-API-Key 发送;不要添加 Bearer 前缀,也不要同时为同一客户端配置个人访问令牌与其他身份凭据。
准备配置¶
export PRODUCT_API_BASE_URL="<Product API Base URL ending in /newmoi>"
export PRODUCT_API_KEY="<personal-access-token>"
PRODUCT_API_BASE_URL 是当前环境提供的完整 Product API 服务地址,必须包含 /newmoi。SDK 不会为调用方补充产品前缀;不要传入 Genesis Base URL,也不要在应用中继续拼接具体接口路径。
创建客户端并发现工作区¶
client, err := sdk.NewWithPersonalAccessToken(
productAPIBaseURL,
productAPIKey,
)
if err != nil {
return err
}
workspaces, err := client.Workspaces().List(ctx)
if err != nil {
return err
}
for _, item := range workspaces.GetWorkspaces() {
fmt.Printf("%s\t%s\n", item.GetId(), item.GetName())
}
import moi_product_sdk as sdk
client = sdk.new_with_personal_access_token(
product_api_base_url,
product_api_key,
)
workspaces = client.workspaces().list()
for item in workspaces.workspaces:
print(item.id, item.name)
列表成功返回后,选择一个工作区 ID,再使用 Go 的 client.Workspace(workspaceID) 或 Python 的 client.workspace(workspace_id) 创建工作区作用域对象。按名称使用 EnsureWorkspace 或 ensure_workspace 时,如果未找到完全匹配的可见工作区,会创建新的工作区;不要在连接验证或其他只读流程中使用它。
最后更新于