Google Search Console API子域名权限不足及HTTPS强制问题求助
解决Google Search Console API调用子域名时的权限不足问题
问题根源:你在GSC中配置的是域名属性(无协议前缀的domain.eu、sub.domain.eu这类),但直接传递
sub.domain.eu作为$siteUrl时,API会默认将其解析为网址前缀属性的http://sub.domain.eu,而你在GSC中并没有配置这个HTTP前缀的属性,也没有对应权限,所以触发"insufficient credentials"错误。核心解决步骤:
- 使用域名属性的专用格式传递
$siteUrl:对于域名属性,API要求用sc-domain:前缀标识,所以把代码中的$siteUrl改成:
这样API会直接匹配你在GSC中配置的无协议前缀域名属性,不会默认使用HTTP协议。// 对应sub.domain.eu的域名属性 $siteUrl = 'sc-domain:sub.domain.eu'; // 对应test.sub.domain.eu的域名属性 $siteUrl = 'sc-domain:test.sub.domain.eu'; - 验证权限:确认你的Google账号在GSC中确实拥有
sub.domain.eu和test.sub.domain.eu这两个独立域名属性的权限(如果是通过主域domain.eu的域名属性继承的权限,用sc-domain:格式一般能让API识别这种继承关系)。 - 备选方案:如果上述方法无效,可在GSC中为子域名添加HTTPS网址前缀属性(即
https://sub.domain.eu),然后API调用时直接传递https://sub.domain.eu作为$siteUrl,这样就能强制使用HTTPS协议,同时确保账号拥有该属性的权限。
- 使用域名属性的专用格式传递
代码示例调整:
// 调用sub.domain.eu的正确写法 $siteUrl = 'sc-domain:sub.domain.eu'; $response = $webmastersService->searchanalytics->query($siteUrl, $query);
内容的提问来源于stack exchange,提问作者Fabbio
相关产品推荐
相关产品推荐

