Google 课堂推送通知请求导致代码 400:前提条件失败

Google Classroom push notification request causes Code 400: Failed Precondition

我正在尝试让我的 Google 教室 API 注册以向云 Pub/Sub 发送推送通知。 我已经成功地形成了一个请求,并通过了身份验证。但是,我已经 运行 进入代码 400:尝试执行时失败的前提条件。

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "@NoPublishPermission Classroom is unable to publish to the specified Cloud Pub/Sub topic.",
    "reason" : "failedPrecondition"
  } ],
  "message" : "@NoPublishPermission Classroom is unable to publish to the specified Cloud Pub/Sub topic.",
  "status" : "FAILED_PRECONDITION"
}

我发现了这个错误描述:

这首先表明我可能没有启用结算功能。我没有启用它,我已经解决了这个问题。但是问题依旧,所以可能是第二个问题我没看懂。问题的描述告诉我,可以选择针对该主题设置某种加密系统。我不明白发生了什么。有人可以解释一下吗?

编辑: 我可以肯定地说,这似乎与 "customer managed keys" 没有任何关系。我的主题明确指出它是 Google-managed

课堂服务帐号似乎没有发布权限。

在 Google Cloud IAM 和管理部分 > IAM

添加角色为 Pub/Sub publisher 的服务帐户 classroom-notifications@system.gserviceaccount.com 以授予发布权限。