Cloud Pub/Sub Demo:403未授权用户执行此操作.当试图推送通知时

yus*_*ong 8 python google-app-engine google-cloud-platform google-cloud-pubsub

我正在学习Google Cloud Pub/Sub并遵循以下官方文档:编写和响应发布/订阅消息 - Python

当我将其部署到云端,并尝试提交消息时, 在此输入图像描述 我收到以下错误:

发生内部错误:403用户未被授权执行此操作.(POST https://pubsub.googleapis.com/v1/projects/your-project-id/topics/your-topic:publish)查看完整堆栈跟踪的日志.

我想这是由于一些身份验证问题?任何帮助,将不胜感激.

小智 8

确保您使用的客户端有权发布到Pub/Sub.详情请见此处.如果您的客户端属于与主题相同的项目,则通常不需要其他访问控制配置.确保您的客户端已正确验证.


yus*_*ong 7

以下是来自Google文档故障排除403(禁止访问)错误的一些说明:

如果出现此错误,请执行以下操作:

  • 确保已在Cloud Platform Console中启用了Google Cloud Pub / Sub API。
  • 确保发出请求的主体对相关的Google Cloud Pub / Sub资源具有必需的权限,
    尤其是当您使用Google Cloud Pub / Sub进行跨项目
    通信时。
  • 如果您使用的是Dataflow,请确保@ cloudservices.gserviceaccount.com和Compute Engine
    服务帐户-compute@developer.gserviceaccount.com
    都对相关的Google Cloud Pub / Sub
    资源具有必需的权限。有关更多信息,请参见Google Cloud Dataflow安全和权限。
  • 如果您使用的是App Engine,请检查项目的“权限”页面,以查看是否列出了App Engine服务帐户作为编辑者。如果不是,请将您的App Engine服务帐户添加为编辑者。通常,App Engine服务帐户的格式为
    @ appspot.gserviceaccount.com。


Dan*_*iel 7

鉴于订阅和主题,您可以单击“权限”->“添加主体”,将 json 中的长电子邮件与服务帐户粘贴在一起,然后选择中描述的权限

https://cloud.google.com/pubsub/docs/access-control

在此输入图像描述