错误 403:向 Cloud PubSub 发送测试消息时出错:用户无权执行此操作

2024-04-20

我想设置推送通知手表,但收到错误响应。我需要什么授权?

Request:

// Google API
$client = getClient();

// POST request    
$ch = curl_init('https://www.googleapis.com/gmail/v1/users/me/watch');

curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_HTTPHEADER => array(
        'Authorization: Bearer ' . $client->getAccessToken()['access_token'],
        'Content-Type: application/json'
    ),
    CURLOPT_POSTFIELDS => json_encode(array(
        'topicName' => 'projects/xxxx/topics/xxxx',
        'labelIds' => ["INBOX"]
    ))
));

回复:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "forbidden",
    "message": "Error sending test message to Cloud PubSub projects/xxxx/topics/xxxx : User not authorized to perform this action."
   }
  ],
  "code": 403,
  "message": "Error sending test message to Cloud PubSub projects/xxxx/topics/xxxx : User not authorized to perform this action."
 }
}

更多细节:

  • 使用的范围是GMAIL_READONLY.
  • 订阅和主题存在,并且它们是在同一控制台中创建的。
  • 我尝试从控制台发布一条新消息,它成功了。

从页面:https://developers.google.com/gmail/api/guides/push#grant_publish_rights_on_your_topic https://developers.google.com/gmail/api/guides/push#grant_publish_rights_on_your_topic

Cloud Pub/Sub 要求您授予 Gmail 发布权限 您的主题的通知。

为此,您需要授予发布权限 服务帐号:[电子邮件受保护] /cdn-cgi/l/email-protection。你可以做 这使用 Cloud Pub/Sub 开发者控制台权限界面 遵循资源级访问控制指令。

(强调已添加)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 403:向 Cloud PubSub 发送测试消息时出错:用户无权执行此操作 的相关文章

随机推荐

  • 如何从数据库获取连接字符串

    我已经使用 SQL Server Management Studio 创建了一个数据库 现在我想在我的 C 应用程序中使用它 我需要连接字符串吗 我在哪里可以找到连接字符串 我的数据库存储在哪里 我是否必须发布它或类似的东西 或者它在我的文
  • PHP __halt_compiler 未找到

    我正在使用 PHP 5 6 运行本地服务器 我正在使用使用该函数的第三方库 halt compiler 一旦达到此功能 我会收到以下错误 PHP 致命错误 未捕获异常 UnexpectedValueException 消息 phar 内部损
  • 从 URL 解析域

    我需要构建一个从 URL 解析域的函数 So with http google com dhasjkdas sadsdds sdda sdads html or http www google com dhasjkdas sadsdds s
  • 在打字稿中扩展角度全局对象

    我正在使用 Angularjs 和 Typescript 我想使用如下自定义函数来扩展 Angular 对象 angular executeAfterDigest function 我该如何去做这件事呢 我怀疑我需要以某种方式扩展 IAng
  • Omnipay 如何添加新网关

    有谁知道如何向 Omnipay 添加新的支付网关 我读了博客https groups google com forum topic omnipay j7OeQQSB95A https groups google com forum topi
  • Xcode 找不到 cstddef

    由于某种原因 Xcode iOS 无法找到我正在使用的库 Boost 的 cstddef 有谁知道如何解决这一问题 我正在 Mac OS X 10 8 下使用 Xcode 4 6 进行编译 你应该让你的项目全部为 Objective C 将
  • 如何处理Android应用程序中标记的双击

    我在地图上显示车辆 当我单击车辆时 它会显示信息窗口 但我需要双击车辆 然后它会转到新页面 我不知道该怎么做 请帮助我 这是我的代码 public class MapsActivity extends FragmentActivity im
  • 如何将其制作为左/右滑动 div

    下面提供的是我的 html 和 css 代码的片段 我不仅需要在 html 和 css 中添加 而且还需要在 javascript 中添加什么 才能使其以滑入 滑出的方式工作 向右打开 和 左关闭 div div a href Edit P
  • 创建后缀号码球拍

    我正在尝试在 Racket 中试验我可以做的事情 并且我想在数字后加上字母 对于这个例子 我只想代表10000 as 10K and 1000000 as 1M 有没有办法 用宏或其他方式 我可以扩展1M to 1 1000000 或者有什
  • 如何模块化(大型)Java 应用程序?

    我手头有一个相当大的 几个 MLOC 应用程序 我想将其拆分为更易于维护的单独部分 目前该产品由大约 40 个 Eclipse 项目组成 其中许多项目具有相互依赖性 仅此一点就使得连续构建系统变得不可行 因为每次签入都必须进行大量重建 有没
  • 如何允许函数返回类型未定义

    我认为typescript有很多不明显的地方 使得它不严格也不正确 我想使用 undefined 作为函数返回类型 因为实际上它是未定义的 不是 void 或其他虚构类型 但是当我写下这个 function myFunction undef
  • Java 7 keytool 椭圆曲线加密

    我正在尝试使用带有 keyalg ECC 的 keytool 创建密钥库 这应该是可能的 根据Oracle http www oracle com technetwork java javase jdk7 relnotes 418459 h
  • UIImagePickerController(使用相机作为源)在 iPad2 上自动旋转,我该如何停止它?

    我正在尝试编写一个具有某些相机功能的应用程序 并使用覆盖视图用图像来装饰它 这就是我实现该应用程序的方式 我将 UIImagePickerController 用于用户相机接收的内容 并将 UIImageView 作为子视图添加到camer
  • 如何测试点是否位于其表面由点云定义的 3D 形状内?

    我有一个点的集合 这些点描述了一个大致呈球形的形状的表面 并且我需要一种方法来确定是否有任何其他给定点位于该形状内 我之前一直将形状 近似为精确的球体 但事实证明这太不准确 我需要一种更准确的方法 简单性和速度比完全精确性更有利 一个好的近
  • Ant 任务:使用排除参数

    得到以下 build xml 字符串
  • Spring 4.0.6 与quartz 1.8.6:setCronExpression 方法未公开给 CronTriggerBean 类

    我使用的是 spring 版本 4 0 6 和quartz 版本 1 8 6 问题是 当我尝试使用配置类而不是 xml 带有 Configuration 注释 时 我无法使用该方法设置 cron 表达式 CronTriggerBean ct
  • 如何获取位类型列的计数?

    我正在尝试使用SEDE https data stackexchange com 确定总共授予了多少个基于标签的徽章 我的典型策略是总结 select sum TagBased from Badges 不幸的是 自从TagBased是一个位
  • 在 table() 结果中包含零计数级别

    我有一个向量 y 我使用以下方法计算不同的值table y lt c 0 0 1 3 4 4 table y y 0 1 3 4 2 1 1 2 但是 我还希望结果包含零个 2 和零个 5 的事实 我可以用吗table 为了这 期望的结果
  • 如何在 Meteor 中将 forbidClientAccountCreation 设置为 false?

    Meteor 中的默认设置不允许从客户端创建帐户 这在许多应用程序中出于安全目的是有意义的 但我正在构建一个博客 需要允许用户创建一个帐户 以便他们可以发表评论 github stackoverflow 和各种教程上的典型响应似乎建议将以下
  • 错误 403:向 Cloud PubSub 发送测试消息时出错:用户无权执行此操作

    我想设置推送通知手表 但收到错误响应 我需要什么授权 Request Google API client getClient POST request ch curl init https www googleapis com gmail