让我试着向你解释我们正在尝试做什么。
简单地说:我们希望将发布/订阅发布者(在我们的GoogleCloud中)权限授予在我们的GoogleCloud之外的GMail-API。
我们拥有:按照这里的说明:云我们已经为GMail-API和GoogleCloud中的凭据创建了一个项目,让我们称它为https://developers.google.com/gmail/api/quickstart/ruby -A。(我们不会在生产环境中拥有这一端;此项目和云将由我们客户的IT部门管理。)
接下来,我们遵循另一个指南,在我们的云( GoogleCloud -B)中创建了一个发布/订阅主题,我们拥有这一部分,这是我们想要订阅的主题,以便收听消息/通知。(此主题与将发布Cloud-A消息的GMail-API的帐户不同)。因此,根据最后一个指南,它说我们需要向gmail-api-push@system.gserviceaccount.com授予权限,据我理解,这意味着我从Cloud-B向GMail-API授予了在Pub/Sub Cloud-B中发布消息的权限。
我找不到的是一种从Cloud-A授予Gmail-API在发布/订阅Cloud-B中发布消息的权限的方法。
最后,我想听听Cloud-B中的Pub/Sub,它将从Cloud-A中的Gmail-API接收通知。
我们使用了这个https://github.com/googleapis/google-api-ruby-client/blob/master/generated/google/apis/gmail_v1/service.rb#L144,我得到了一个错误,说这个主题不存在(可能是因为它在Cloud-B中,而我正在配置Cloud-A Gmail-Api)
我希望我说得够清楚了,我们并不打算让同一个Google Cloud中的另一个项目访问Pub/Sub,它甚至不是我们编写的服务,因为它是Gmail-Api,我们唯一被允许做的事情就是发送我们想要发布的主题名称。
发布于 2020-03-05 23:50:29
我不熟悉GMail-API是如何发布到Pub/Sub的,但是,如果您已经知道如何从项目Cloud-A中的GMail-API发布到Cloud-A中的Pub/Sub主题,您可以尝试以下变通方法:
备选方案A:
在项目Cloud-A.
备选方案B:
备选C:
https://stackoverflow.com/questions/60533539
复制相似问题