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

2024-03-14

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

Solution:这个答案的先前解决方案,https://stackoverflow.com/a/57168008/1992004 https://stackoverflow.com/a/57168008/1992004,不再工作。

谷歌改变了格式"iconUrl" to "icon",现在使用Base64- 编码数据流,例如"icon":"iVBORw0KGgoAAAAN...,而不是图像 URL,之前写为"iconUrl":"https://...".

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

for "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"
          }
        ]
      }
    ]
  }
}

or

{
  "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"
      }
    ]
  }
}

or

{
  "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 \" \""
          }
        ]
      }
    ]
  }
}

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


Answer:

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

更多信息:

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

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

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

功能要求:

不过,您可以让 Google 知道这是一项重要的功能,并且您希望要求他们实施该功能。谷歌的问题跟踪器 https://issuetracker.google.com/是开发人员报告问题并为其开发服务提出功能请求的地方。我建议使用功能请求模板因为这是可以使用 GCP 项目的组件。

Update:此功能请求可见here https://issuetracker.google.com/issues/158736319,要提高此内容的可见性,请点击页面顶部的 ☆。

相关问题:

  • OAuth 同意屏幕 - 能够删除应用程序徽标 https://stackoverflow.com/a/57168008/1992004[过时的]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐