Google 钱包 API Codelabs 示例权限被拒绝

2024-05-14

我正在研究使用 Google 钱包通过 Web/jwt 界面存储条形码(用于电子处方,如果重要的话)的可行性。

https://codelabs.developers.google.com/add-to-wallet-web#0 https://codelabs.developers.google.com/add-to-wallet-web#0

仔细遵循所有说明(包括“创建临时发行者帐户和示例类”),并将 issuesrid 和 classid 插入代码(以及 key.json 文件的正确路径)并添加 createPassAndToken ...失败并出现“403 Permission Denied”错误。

我找不到任何关于可能导致此问题的帮助。

一个可能的问题是,临时发行人帐户中返回的“Pass Class Id”采用 {$issuer_id}.{guid} 形式,并且示例 app.js 中的内部代码将 Issuer_id 作为请求的一部分前置,这导致我相信 class_id 应该只设置 guid,但我已经尝试了两种方法,但没有产生任何影响。

稍微有点恼人的是,所有指令都假设是 Linux 命令行,而我使用的是 Windows,但纠正起来并不困难。

任何帮助表示赞赏。


你走在正确的轨道上。我通过了这一步并进行了以下更改:

  1. 去除issuer_id来自class_id(如您所描述的),显示在“Google Wallet API Codelab Tools”中。它已经添加了issuer_id to the class_id,这完全是误导。

    代码应该如下所示:

    const issuerId = process.env.WALLET_ISSUER_ID ||  '338800....000000001';
    const classId = process.env.WALLET_CLASS_ID || '71bba024-a024-a024-a024-a024da8f5771';
    
  2. 您用于生成临时发行人帐户的电子邮件地址必须与为服务帐户创建的电子邮件地址相同。在Codelab中,即

    wallet-codelab@$PROJECT_ID.iam.gserviceaccount.com.

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

Google 钱包 API Codelabs 示例权限被拒绝 的相关文章

随机推荐