Unity Web 应用程序抛出错误 403“禁止”

问题描述 投票:0回答:2

最近(在过去的一周内)我们的 unity webgl (Unity v2019.4.16f1) 应用程序无法使用 google Drive API 读取文件。当我检查 Web 控制台时,我看到以下错误:

UnityGoogleDrive:HTTP/1.1 403 禁止 Google Drive API 错误描述:代码“403”消息:“请求缺少有效的 API 密钥。” 域:“全局”原因:“禁止”消息:“请求缺少有效的 API 密钥。”位置类型:'' 位置:'' (文件名:./Runtime/Export/Debug/Debug.bindings.h 行:35)

申请已经4个月了,至今没有任何问题。 我们目前有一个 OAuth 2.0 客户端 ID 设置,但没有 API 密钥,因为我们以前不需要它。我们在 Unity 中用于访问 google Drive 的插件 (https://github.com/Elringus/UnityGoogleDrive) 除了 OAuth ID 之外,没有任何用于添加 API 密钥的明显设置。

直接在 Unity 中运行应用程序(使用 localhost)时不会出现错误并且可以访问文件。

我尝试在云控制台中禁用并重新启用 API。这带来了好坏参半的结果。重新启用 Google Drive API 后,Web 应用程序上的初始请求成功,没有任何错误。所有后续请求都会失败并出现相同的错误。

根据缺失值,我认为问题可能是我们需要分配给谷歌项目的有效计费计划,但这也没有解决问题。

我尝试生成 API 密钥,但我不确定需要将其传递到哪里才能解决问题(如果这就是问题的原因)。

unity-game-engine google-drive-api unity-webgl
2个回答
0
投票

报告的错误是一个转移注意力的错误。真正的问题是我们的请求没有触发 Google 的身份验证。我们的 Unity 开发环境缓存了身份验证令牌,这就是开发环境正常运行但生产应用程序失败的原因。

我们通过先向 GoogleDriveAbout API 发送请求来解决该问题,这似乎可以可靠地触发重新身份验证。一旦经过身份验证,一切都会按预期进行。


0
投票

感谢您的信息!

您是不是偶然在 Elringus Repo 上造成了问题?

© www.soinside.com 2019 - 2024. All rights reserved.