Google 建议 AI 删除目录项错误 403

Posted

技术标签:

【中文标题】Google 建议 AI 删除目录项错误 403【英文标题】:Google recommendations AI deleting catalog items error 403 【发布时间】:2021-07-27 13:40:46 【问题描述】:

我正在尝试将我的目录集成到 google 推荐 ai 中,出于调试目的,我希望能够在导入后从目录中删除项目。文档建议运行以下代码:

curl -X DELETE \
 -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
"https://retail.googleapis.com/v2/projects/[PROJECT_NUMBER]/locations/global/catalogs/default_catalog/branches/0/products/[PRODUCT_ID]"

返回以下错误:

    
  "error": 
    "code": 403,
    "message": "Your application has authenticated using end user credentials from the Google Cloud SDK or Google Cloud Shell which are not supported by the retail.googleapis.com. We recommend configuring the billing/quota_project setting in gcloud or using a service account through the auth/impersonate_service_account setting. For more information about service accounts and how to use them in your application, see https://cloud.google.com/docs/authentication/.",
    "status": "PERMISSION_DENIED",
    "details": [
      
        "@type": "type.googleapis.com/google.rpc.ErrorInfo",
        "reason": "SERVICE_DISABLED",
        "domain": "googleapis.com",
        "metadata": 
          "service": "retail.googleapis.com",
          "consumer": "[redacted for privacy]"
        
      
    ]
  

使用 --impersonate-service-account 标志运行建议的代码,会导致与上述相同的错误,但前面带有

警告:检测到模拟服务帐户“[为隐私而编辑的名称]”。此命令不能用于打印模拟帐户的访问令牌。下面的令牌仍然是应用程序默认凭据的访问令牌。

如果我尝试登录以获得授权而不是打印访问令牌,则会收到以下错误:

    
  "error": 
    "code": 401,
    "message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
    "status": "UNAUTHENTICATED"
  

提供的链接不再有效。我想知道如何为从推荐 ai 目录中删除项目提供适当的授权/身份验证。

PS。我用来执行此操作的帐户是项目的所有者,因此应该具有所有适当的权限。

【问题讨论】:

【参考方案1】:

为您将本地 cURL 请求应用到 Recommendations AI 设置身份验证。您必须create a Service Account,下载 SA 密钥,并将环境变量“GOOGLE_APPLICATION_CREDENTIALS”设置为密钥,以便允许原始描述中注明的本地 cURL 请求

如果您无法下载 SA 密钥文件,我建议您尝试使用 !在这样的 curl 之前, !curl -X POST ,如果你熟悉 Python,推荐使用 python library 来推荐 AI。

【讨论】:

以上是关于Google 建议 AI 删除目录项错误 403的主要内容,如果未能解决你的问题,请参考以下文章

Google Play 控制台错误通知“已删除设备支持”

谷歌关于顶点 ai 的笔记本抛出以下错误:类型名称 google.VertexModel 与预期不同:模型

TensorFlow 删除 YAML 支持,建议 JSON 作为替补方案!

有啥方法可以从***项目 gradle 中删除“classpath 'com.google.gms:google-services:4.2.0' 依赖项

mac系统nginx+php7.2+mysql环境配置错误解决方案

正则表达式提取、删除重复项并与 Google 表格中的管道连接