【问题标题】:Google Verification API 503谷歌验证 API 503
【发布时间】:2014-11-18 07:50:53
【问题描述】:

google verification api 给我一个 503 错误“发生意外错误。请重试您的请求。”每当我尝试使用 TAG_MANAGER 方法验证域时。

当我尝试通过 PHP 客户端库使用 API 以及使用 Google 的 API explorer 时,就会出现这种情况。但是,如果我登录谷歌网站管理员工具并添加网站,使用跟踪代码管理器作为验证方法,我能够成功验证自己。

我在下面附上了来自 API 浏览器的调试信息,但它的细节非常简单。我在webmaster central forum 提出的支持请求遭到了震耳欲聋的沉默,但我不知道还能去哪里问。

Request


POST https://www.googleapis.com/siteVerification/v1/webResource?verificationMethod=TAG_MANAGER&key={YOUR_API_KEY}

Content-Type:  application/json
Authorization:  Bearer ya29.iAC-QBa-7nzvS2lpFFmfcej2Y0suhiWHgS8SivKN9jpYWffljsRV7rbL
X-JavaScript-User-Agent:  Google APIs Explorer

{
 "site": {
  "identifier": "http://unit1-28leanyerdriveleanyer.com",
  "type": "SITE"
 },
 "owners": [
  "loboyle@raywhite.com"
 ]
}

Response


503 Service Unavailable

- Show headers -

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "backendError",
    "message": "An unexpected error occurred. Please try your request again."
   }
  ],
  "code": 503,
  "message": "An unexpected error occurred. Please try your request again."
 }
}

【问题讨论】:

  • 您网站上的标签管理器容器是否与您的所有者帐户匹配?另外,我在您的网络资源模型中看不到任何“id”(对于 post 方法来说会很奇怪,但由于标识符是一个唯一的字符串,您可能只需要自己选择它)
  • 请提供您的代码,以便我们调试问题。
  • 抱歉,目前正在度假,只有一部手机,因此无法测试或添加任何详细信息。 @ProllyGeek,上面的调试输出来自谷歌自己的交互式 API 测试器,所以没有代码到站点(尽管我自己的代码生成相同的请求并获得相同的响应)。
  • @Rugdr,我相信它会将站点标识符视为资源标识符。

标签: google-api google-search-console google-site-verification-api


【解决方案1】:

https://www.googleapis.com/siteVerification/v1/webResource?verificationMethod=TAG_MANAGER&key={YOUR_API_KEY}

可能需要

https://www.googleapis.com/siteverification/v1/webResource?verificationMethod=TAG_MANAGER&key={YOUR_API_KEY}

另外,还有一些注意事项

要让 Google 使用您的 Google 跟踪代码管理器容器 sn-p 代码进行网站管理员工具验证,该代码必须紧跟在您网页的开始标记之后。

您提供的方法用于验证站点或域,请确保您打算验证站点,因为这是您的请求当前包含的内容。

此方法需要您进行身份验证 (OAuth 2.0) http://code.google.com/apis/accounts/docs/OAuth2.html

确保您访问过以下链接 http://www.google.com/tagmanager/features.html

【讨论】:

  • siteVerification 大写 V 似乎是正确的。此外,当返回 5xx 错误代码时,我认为这不是身份验证问题...
  • 大写来自他们自己的交互式 API 工具,所以我怀疑这是正确的。正如塞巴斯蒂安指出的那样,如果这是问题所在,您会期望出现 404 或其他问题。其他点,是的,代码在那里(我可以通过网络界面验证没有问题),是的,我想验证一个站点,是的,该帐户是使用 oauth 登录的。
  • @ElYobo 我确实看到了您打开的 github 问题。然而,这似乎不是一个常见的问题,因为他们无法确定一个直接的问题,我的猜测是某些特定情况导致了这种情况。我试图使用您在我的注册电子邮件中提供的信息,并收到相同的错误,请注意此电子邮件与该域没有任何关联。所以这很奇怪......
【解决方案2】:

我今天终于偶然发现了这个问题的解决方法。问题是运行请求的服务帐户需要对适用的跟踪代码管理器帐户拥有“查看和管理”权限,而不仅仅是对实际使用的容器。实际容器只需要查看权限。

虽然这不是完全可取的(我们在一个帐户中有 20 多个用于不同站点/应用程序的容器),但它确实解决了问题并允许跟踪代码管理器站点验证按预期工作。

我不确定自从我最初遇到此问题以来文档是否已更改,或者我是否只是错过了它。所需的权限是意外的,并且响应代码具有误导性(403 会更有意义)。

【讨论】:

    【解决方案3】:

    检查您是否在您尝试使用 Google 进行验证的域上启用了“维护模式”。禁用它,你就完成了。

    【讨论】:

    • 谢谢,这可能对某些人有所帮助,但对我来说不是问题;问题在于,需要对整个标签管理器帐户(而不仅仅是受影响的容器)进行高级别的访问才能成功使用标签管理器进行验证。不过,希望您的回答对其他人有所帮助。
    猜你喜欢
    • 2013-07-01
    • 2021-10-02
    • 1970-01-01
    • 2022-11-08
    • 1970-01-01
    • 2019-08-07
    • 2012-07-23
    • 2020-09-26
    • 2010-10-16
    相关资源
    最近更新 更多