授权Google电子表格的脚本会给我错误401 Deleted_client 参考

问题描述

我刚刚制作了一个简单的脚本,可以自动为Google电子表格复制和粘贴一些数据。但是,当我尝试运行脚本以授予授权时,会弹出正常弹出窗口:

authorization pop up

但是当我“查看权限”时,出现了我从未见过的错误

error auth

通常,我只是为我的Google帐户弹出身份验证。你为什么这么认为呢? 任何反馈或帮助将不胜感激!谢谢!

解决方法

您收到的401 Error: deleted_client. The OAuth client was deleted.错误消息是由于关联Google Cloud Project中的客户端已被删除。

如何检查

在Apps脚本项目中,转到资源> Cloud Platform项目... 。这将打开一个带有关联项目的新窗口,以检查/添加已删除的OAuth客户端。

参考

,

查看您的 OAuth 2.0 客户端 ID 的链接位于:
https://console.cloud.google.com/apis/credentials?authuser=0

看起来像这样: Apps Script Client ID

应用脚本的 OAuth 2.0 客户端 ID 被删除后,您将无法重新添加。
当您将 Google Cloud Platform (GCP) 项目与 Apps Script 项目相关联时,系统会自动添加该 Apps 脚本凭据。
据我所知,您唯一能做的就是复制您的 Apps 脚本文件,并将现有的 GCP 项目与新的 Apps 脚本副本相关联。
至少这将允许您使用相同的 GCP 项目再次运行代码。如果您将原始 Apps 脚本项目发布为 Web 应用程序,则会出现问题。在这种情况下,您需要从新的 Apps 脚本文件发布新的 Web 应用程序,并更新需要使用新 URL 的所有位置。 不幸的是,从 GCP 项目中删除 OAuth 2.0 客户端 ID 后,您的 Apps 脚本项目无法获得授权,因此无法使用。 如果有人知道解决方法,请发布答案。您的 Apps 脚本文件的 OAuth 2.0 客户端 ID 凭据是自动创建的,无法编辑。据我所知,无法创建新凭据并将其指定为用于 Apps 脚本。