使用服务帐户的 Google 身份验证失败 (node.js)

2023-12-07

我正在尝试使用 (node.js) 示例应用程序来针对 Google API 进行身份验证,然后发出 Google Drive 请求。我尝试运行的示例来自 googleapis node.js 库的 github 自述文件使用jwt:

var jwtClient = new googleapis.auth.JWT(
  '[email protected]',
  './key.pem',
  null,
  ['https://www.googleapis.com/auth/drive'],
  '[email protected]');

jwtClient.authorize(function(err, tokens) {
  if (err) {
    console.log(err);
    return;
  }

  // Make an authorized request to list Drive files.
  drive.files.list({ auth: jwtClient }, function(err, resp) {
    // handle err and response
  });
});

身份验证失败并显示:

{ error: 'unauthorized_client',
  error_description: 'Unauthorized client or scope in request.' }

我不是 100% 确定 '[电子邮件受保护]'。使用我的客户端 ID,我收到错误“无效的模拟 prn 电子邮件地址。”。

我已经根据文档创建了服务帐户客户端 ID、服务电子邮件和证书指纹。我必须指定额外的事情吗?我的范围不正确吗?如果是的话,应该是什么?

Google Drive API 在 Google 开发者控制台中启用。我还激活了试用帐户。


呃,在尝试了很多事情之后,结果相当简单:在没有“模拟”电子邮件的情况下执行上述示例,它就成功了。代码:

var jwtClient = new googleapis.auth.JWT(
  '[email protected]',
  './key.pem',
  null,
  ['https://www.googleapis.com/auth/drive']);

自述文件中的示例可作为示例中的完整文件使用(here).

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

使用服务帐户的 Google 身份验证失败 (node.js) 的相关文章

  • JWT 令牌中允许使用哪些字符?

    我看到 JWT 令牌由 A Z a Z 0 9 和特殊字符组成 and 我想知道 JWT 令牌中允许的字符列表 来自智威汤逊介绍 https jwt io introduction 输出是三个用点分隔的 Base64 URL 字符串 Bas
  • 如何在 PyV8 中加载 Nodejs 模块?

    如何在 PyV8 中加载 Nodejs 模块 我读过所有关于 jsdom 在与 Nodejs 一起运行时有多么出色的内容 如果我在 Python 应用程序中运行 v8 使用 python 获取 Web 资源 然后将生成的 html 字符串提
  • 如何使用 Stripe 在一次操作中创建客户和卡片?

    我正在尝试第一次初始化客户 我有一个表格 他们可以在那里注册和填写所有内容 然后他们提交 在客户端上 会发生以下情况 var cardValues AutoForm getFormValues credit card form insert
  • Nodejs - 处理和发送多部分请求,

    我的应用程序在 Nodejs 服务器上运行 Node Js 还充当来自应用程序的请求的中间件 代理 因此 从浏览器开始 所有 REST 调用都会转到 NodeJs 然后转到 Java API 我发现处理多部分表单数据的请求时出现问题 我在
  • 如何限制谷歌购物API中的价格范围

    我正在使用 Google Shopping API 尝试检索具有特定数字或近似值的 顺序 的产品 例如 如果我要选择价格范围在 40 美元 60 美元之间的产品 50 美元 10 美元 我应该在 URL 搜索字符串中添加什么 我知道我可以像
  • 我们是否需要在客户端/消费者处验证 JSON Web Token?

    我正在研究一些有关 JSON Web Token 的知识 我知道 header claims 由密钥签名 编码结果连接到 header claims signature 并最终发送回客户端 我有一些基本的疑问 我们是否需要在客户端 消费者处
  • Sequelize.js - “不关联到”

    我在从数据库获取完整数据时遇到一些问题 那是我的模型 User module exports function sequelize DataTypes return sequelize define user id type DataTyp
  • Cloud Functions for Firebase - 通过 Nodejs/Cloud Function 将多个 PDF 合并为一个

    我遇到了一个问题 我试图通过云功能合并一堆 PDF 然后将合并的 PDF 下载到用户的计算机上 我的提供程序中有一个函数 它调用云函数并传递指向 pdf 的 URL 数组 如下所示 mergePDFs pdfs Create array o
  • 在哪里存储角度中的 JWT 令牌?

    我正在使用 Django 和 Angular 构建一个应用程序 目前 我正在本地存储上存储后端发出的 JWT 但是 我担心 XSS 攻击 我应该使用仅 HTTP 的 cookie 来存储令牌吗 我还考虑将令牌存储在我的身份验证服务类中的变量
  • Mongoose 独特的验证不起作用。保存重复条目

    我正在开发一个 NodeJS 应用程序 其中express是框架 MongoDB是数据库 我正在使用猫鼬插件 我有一个父母模型 我已经添加了独特 真实到场 mobile 但是每当我添加相同的手机号码时 唯一性验证就会失败 除了保存重复的文档
  • Node.js 中的异步或步骤

    我无法让我的异步代码与 node js 一起使用 尝试异步和步骤库 代码仅返回第一个函数 似乎没有执行其余函数 我究竟做错了什么 thanks var step require step step function f1 console l
  • 如何处理 MongoDB 的断开连接错误

    我在 Node js 进程中看到了这个未捕获的异常 Uncaught exception Error read ETIMEDOUT at TCP onStreamRead internal stream base commons js 16
  • 从自己的 gitlab 服务器安装节点模块

    我想从我们的 gitlab 服务器安装节点模块 这是存储库的链接 http ABCD GITLAB myGroup myNodeModule git http ABCD GITLAB myGroup myNodeModule git 根据n
  • 使用填充方法在 sails mongo 中进行深层关联?

    我是 sails js 的新手 我正在使用 sails js 与 Mongodb 我在我的 sails 应用程序中使用 populate 进行深层关联时遇到问题 我有这样的关系 Category has many to many relat
  • nvm 与 npm 配置“前缀”选项不兼容:

    我正在尝试运行另一个 NodeJS 版本nvm但出现此错误 nvm use v4 2 4 nvm is not compatible with the npm config prefix option currently set to Us
  • 如何使用 cradle (CouchDB) 将参数传递给视图

    Using cradle https github com cloudhead cradle 如何将参数传递给 CouchDB 中的视图 Update 假设我想返回与其他属性匹配的文档 key 默认 document format key
  • Node Sass 没有绑定您当前的环境

    我在 SO 上看到过很多这样的问题 但似乎没有一个能解决或匹配问题 Node Sass 找不到适合您当前环境的绑定 带有 Node js 6 x 的 Windows 64 位 奇怪的是 我没有安装 Node js 6 x 从命令行 node
  • gcloud.app.deploy 错误响应:[9] 应用程序启动错误:[email protected] start /app 节点 app.js

    我对收到的错误消息感到好奇 环境 谷歌应用引擎 Nodejs 弹性环境 没有安装 Express 服务器 设置 app yaml 包含标准信息 server js 已创建但为空 此时此刻 app js 已创建 但目前为空 错误 错误 gcl
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 如何针对 Node.js 中发生的每个错误发送电子邮件?

    假设我的 node js 应用程序正在运行 如果出现错误 我的意思是所有错误 不仅仅是网络错误 如果出现错误 则很重要 我如何调用函数向我发送电子邮件 基本上 在我希望它写入 err out 之前 我希望向我发送一封电子邮件 我正在使用no

随机推荐