PHP调用Google Wallet API动态创建访客专属类问题咨询
Google Wallet 动态创建EventTicketClass实现方法
不用纠结gRPC Transcoding规则,这个接口本身就是标准REST接口,直接按普通POST请求逻辑调用即可,步骤如下:
前置校验
- 确认你已经持有配置好Wallet发行权限的服务账号凭证,既然你已经跑通基础功能,这部分配置不需要调整
- 接口请求地址固定为
https://walletobjects.googleapis.com/walletobjects/v1/eventTicketClass - 请求必须携带OAuth 2.0访问令牌,授权范围固定为
https://www.googleapis.com/auth/wallet_object.issuer
请求构造要求
- 请求方法为POST,所有业务参数全部放在JSON格式的请求体中,不需要额外拼接路径参数
- 请求头必须携带
Content-Type: application/json,同时在Authorization字段传入Bearer {你的访问令牌} - 请求体核心必填字段如下,你可以根据每位访客的信息动态填充自定义内容,生成专属类:
{ "id": "你的发行商ID.全局唯一标识(建议绑定访客ID生成,避免重复)", "eventName": { "defaultValue": { "language": "zh-CN", "value": "对应活动名称" } }, "issuerName": "你的发行主体名称", "reviewStatus": "UNDER_REVIEW" }
注意:id字段必须全局唯一,重复传入相同id会触发冲突报错,建议直接用「发行商ID_访客ID」的规则生成,和访客一一对应。除了必填字段外,你还可以按需传入场地信息、活动时间、专属logo、自定义文案等字段,实现每个访客的票券类差异化。
返回结果与错误处理
- 请求成功时会返回200状态码,响应体就是完整创建好的EventTicketClass对象,直接提取其中的类id即可后续关联对应的票券对象
- 返回401:检查访问令牌是否过期、授权范围是否填写正确
- 返回409:当前传入的id已经存在对应类,不需要重复创建,直接调用查询接口拉取已有类信息使用即可
- 返回400:根据响应体内的错误提示检查字段,常见问题包括必填字段缺失、时间格式不符合RFC3339规范、图片资源地址格式错误等
最简调用参考(Python)
import google.auth from google.auth.transport.requests import AuthorizedSession # 加载本地配置好的服务账号凭证 credentials, _ = google.auth.default( scopes=['https://www.googleapis.com/auth/wallet_object.issuer'] ) session = AuthorizedSession(credentials) # 按访客信息动态构造专属类参数 class_payload = { "id": "1234567890.visitor_001", "eventName": {"defaultValue": {"language": "zh-CN", "value": "2024用户答谢会"}}, "issuerName": "XX科技", "reviewStatus": "UNDER_REVIEW", "venue": { "name": {"defaultValue": {"value": "市会展中心3号馆"}} }, "dateTime": { "start": "2024-12-20T14:00:00+08:00", "end": "2024-12-20T18:00:00+08:00" } } # 发起请求获取结果 resp = session.post( url="https://walletobjects.googleapis.com/walletobjects/v1/eventTicketClass", json=class_payload ) result = resp.json() print("创建完成的类信息:", result)
内容的提问来源于stack exchange,提问作者Meteoff Dev
相关产品推荐
相关产品推荐

