OAuth 同意屏幕 - 删除应用程序徽标的能力:旧解决方案不再有效

Evg*_*niy 13 google-api google-apps-script google-oauth google-cloud-platform google-workspace

问题:如何删除应用程序徽标。

解决方案:此答案中的先前解决方案/sf/answers/4001760591/不再有效。

Google 将 的格式更改"iconUrl""icon",现在使用 -Base64编码的数据流,例如"icon":"iVBORw0KGgoAAAAN...,而不是以前写为 的图像 URL "iconUrl":"https://..."

我试过"icon":""许多Base64编码的值一样"icon":"IA""icon":"Lw"和一些其他-没有成功。我收到控制台消息,例如

为了 "icon":""

{
  "error": {
    "code": 400,
    "message": "The request failed because one of the field of the resource is invalid.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.PreconditionFailure",
        "violations": [
          {
            "type": "client_auth_config",
            "subject": "?error_code=9&error_field_name=UpdateIconRequest.icon&error_field_value=%3CByteString@3eeee81e+size%3D0+contents%3D%22%22%3E"
          }
        ]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

或者

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.identity.clientauthconfig.v1.ClientAuthConfigError",
        "code": "ICON_STORAGE_FAILURE"
      },
      {
        "@type": "type.googleapis.com/google.identity.clientauthconfig.v1.IconStorageError",
        "reason": "INVALID_IMAGE"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

或者

{
  "error": {
    "code": 400,
    "message": "Invalid value at 'icon' (TYPE_BYTES), Base64 decoding failed for \" \"",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "icon",
            "description": "Invalid value at 'icon' (TYPE_BYTES), Base64 decoding failed for \" \""
          }
        ]
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

有人知道,应该在此处插入什么以从应用程序中删除徽标图像?

Raf*_*rmo 12

回答:

不幸的是,没有办法做到这一点。

更多信息:

上传 OAuth 应用程序徽标后,不支持删除它的方法 - 在您链接完成此操作的方式的问题中,检查网络请求并从以前的 JSON 对象构建新请求通过 UI 发送确实显示了这一点。

由于图标 URL 已更改为需要 Base-64 编码值,因此已弃用。这是否是谷歌故意的很难说,但现在一个空值总是会返回INVALID_ARGUMENT。值中的任何数据icon也只会替换图像数据,因此这不是一个可行的解决方法,就验证过程而言,图像数据存在,因此需要验证。

如果这不是一个艰巨的过程,那么这里唯一的解决方法是创建一个具有新 OAuth 同意屏幕的新 GCP 项目,而无需上传图像。当然,您需要重新激活所有相关 API 并将相关脚本和项目链接到新设置。

功能要求:

但是,您可以让 Google 知道这是一项重要的功能,并且您希望他们实施它。Google 的问题跟踪器是开发人员报告问题和为其开发服务提出功能请求的地方。我建议使用G Suite 附加组件的功能请求模板,因为这是可以使用 GCP 项目的组件。

更新:此功能请求可在此处查看,要提高此功能的可见性,请点击 ? 在页面顶部。

我知道这通常是个坏消息,但我希望这对您有所帮助!

相关问题:

  • 很好,又一个在大流行期间感到沮丧的理由:) 又一个可以发泄的问题跟踪器;) (2认同)