问题标签 [google-indexing-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 使用 Google Indexing API 时出现 403 错误
我正在尝试通过 Google Indexing API 发送 POST 请求,但不断收到 HTTP 错误 403(禁止)。
我的代码如下:
我的完整回复如下:
我明白“禁止”是什么意思,但我不明白为什么会出现错误。我已按照设置说明进行操作。我已经设置了 API 密钥。我什至将它设置为没有任何限制(当然我稍后会限制它),我已经设置了服务帐户密钥,json文件存在于我调用它的位置(没有它,我得到一个 401 错误,而不是 403 ) 并查看使用 API 密钥的帮助,我正确地传递了密钥。
我错过了什么?
google-auth-library - Google Indexing API 测试环境?
我正在为一些职位发布 Google Indexing API,我让它在“生产”中工作(发送以我的公共域开头的 url,即“jobs.myproduction.com”),但我不知道如何在任何 QA 或集成环境中对其进行测试。链接的域不会是我经过验证的域(公共域),而是像“box1.qa.myproduction.com”之类的东西,这些 URL 甚至都不能公开访问。
在其他 API 中,我们有测试密钥和测试端点,我们将这些值一直部署到配置表中,以便在整个测试过程中,我们使用测试密钥访问测试 API 端点,我们可以看到它在不将测试数据发布到生产系统时工作。但谷歌似乎没有。它要么在生产中以生产价值进行,要么不断失败。
现在,在我的开发机器上,我的职位发布有“localhost”网址,这些网址被 API 调用拒绝,因为它看起来像是“localhost”。如果我将其更改为虚拟域“jobs.mytest.com”,我会收到 403 FORBIDDEN,大概是因为我不是“jobs.mytest.com”域的经过验证的所有者。
如果我在经过验证的域之上使用子域,我可以从 google 获得 200。所以我已经验证了域“jobs.myproduction.com”,如果我将 url 发送为“ https://test.jobs.myproduction.com/jobs/whateverId ”,我可以获得 200 的回报。但:
- 我不知道这是怎么回事(域名无效,所以我认为谷歌不会列出它)
- 我不会把它放在谷歌之上,以某种方式指责我提交错误的 URL,并且
- 这似乎根本不是正确的方法。
有人对如何解决这个问题有建议吗?我是否在测试帐户的 Google API 仪表板中遗漏了某些内容?
wordpress - 谷歌索引与 wordpress 不同的 URL
我正在将 wordpress 与 woocommerce 一起使用。我用于我的网站的网址是: https ://example.com/product/product-name/
但谷歌将此网址编入索引为: https ://example.com/product-name/
我该如何解决这个问题?
c# - 尝试在我的网站上使用 Google Index API 返回 404 错误,如何解决?
对于一家荷兰职业介绍所,我正在尝试编写一些代码,以便在发布或删除新工作时使用 Google 索引 API 更新 google 信息。对于初学者,我尝试获取通知状态,但响应是 404,尽管该网站显然可用。
作为一名初级程序员,我的结论是我可能在某处的代码中犯了错误,或者手头的任务根本不可能,因为我的国家(荷兰)没有正式提供 API
不幸的是,我对位于受支持国家/地区的类似网站没有任何所有权,以确保我的代码是这里的问题。
搜索有关此错误的主题会返回大量信息,但到目前为止,这些信息似乎都不足以解决我的问题。
错误出现在该行using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
下面是我的代码:
php - 在 Google Indexing API 上收到 403 错误
我想在“Google Indexing API”代码上执行。
但作为回应,我收到一个错误:403。
我在服务帐户上创建并且站点验证已完成
我想在 Google Search Console 中添加服务帐户电子邮件地址。
我们的代码有什么问题?
感谢任何帮助和想法。谢谢!
php - 如何使用 Drupal 站点上的服务帐户验证 google-indexing
我正在尝试在 Drupal 网站上使用谷歌索引 API。我不断收到 403 权限被拒绝错误。
我启用了 API,创建了一个服务帐户,使用元标记验证了网站所有权,为服务帐户设置了所有者权限,并下载了 google-api-php-client 库以使事情变得更容易。我把php文件放在服务器上。当我转到该页面时,我收到 403 错误。没有权限。
编辑:我也尝试过使用 $client->setAuthConfig() 方法,如此处显示的 googles 文档所示:Google indexing api
这是google api之后的替代代码
google-api - 如何在没有 api 库的情况下从 Google 获取访问令牌?
我正在开发一个 Elixir Phoenix 网络项目,我想在其中与 Google 的索引 API 进行交互。
Google 使用 OAuth2 对 api 请求进行身份验证,并且实际上有一个不错的文档。
但它只解释了使用 Python、Java、PHP 或 JS 中支持的库之一的过程。
我想自己发出 HTTP 请求以检索该访问令牌。但是请求格式(包括标头或参数)没有记录,我什至无法从库的源代码中弄清楚。
我尝试在 Postman 中使用“OAuth 2.0”请求类型请求https://accounts.google.com/o/oauth2/token(还有其他符合条件的 URL)。但这一切都只是猜测和尝试。所有的研究都没有帮助。
php - 即使我在设置 Google Indexing API 后收到“OK”和“200”状态,也没有看到任何招聘结果
我刚刚设置了我的 Google for Jobs,包括 Indexing API(使用 PHP)、服务帐户和 Search Console。但即使我收到状态消息“OK”和“200”,我也没有在 Google for Jobs 中看到任何招聘结果
- 为 Jobs 创建了我的新 Google 帐户
2. 以Google API为拥有者创建服务账号(使用JSON)同时创建新的OAuth授权信息。
3. 使用 Google Search Console 验证我的网站所有权。
添加了我的服务帐户的电子邮件地址。
(就像这个:XXX@XXXiam.googleserviceaccount.com)
4. 从https://github.com/googleapis/google-api-php-client/releases下载 PHP 库
将此文件“Google-api-php-client”文件夹复制到与招募 HTML 相同的目录中。
(示例)
文档/recruit.html
文档/google-api-php-client
从https://github.com/googleapis/google-api-php-client-services下载索引文件
复制从“索引文件”下载的这两个文件
src/Google/Service/Indexing
src/Google/Service/Indexing.php
并将它们粘贴到 google-api-php-client 文件夹中
(示例)
文档/google-api-php-client
文档
/google-api-php-client/Indexing.php 文档/google-api-php-client/Indedxing
- 为索引 API 创建 PHP 文件(代码如下)
6. 将所有这些文件上传到服务器并使用 Web 浏览器访问 PHP 目录。
我从 GuzzleHttp\Psr7\Response 对象开始得到“OK”和“200”......(我不知道这怎么叫)
- 用浏览器访问 PHP 目录大约过了整整 2 天。但我仍然没有在 Google for Jobs 上看到任何结果。
我没有看到任何错误消息,但是
- 我不确定我做对了。
(用浏览器访问服务器上的PHP并确认状态码200和OK就可以了吗?)
php - Google Indexing API 调用不断返回 403 代码
每当我们从空缺提供者那里收到空缺时,我都会尝试将空缺发送到 Google Indexing API。然而,尽管设置了所有适当的权限,我仍然收到 403 状态代码。
我已遵循“索引 API 的先决条件”指南并创建了一个服务帐户。就我而言,我在 Google Search Console 中有 4 个域条目,因此我按照MarcQuay 的回答并将服务帐户添加到所有 4 个条目中。
我使用以下代码来实现 Google API 客户端并进行调用。对于我们收到的每个空缺,都会调用 sendGoogleRequest() 方法。
我试过调试它,似乎 $googleClient->authorize() 中的 '$credentials' 是空的
但是我不知道这可能是什么原因。
使用此代码为每次调用返回一个“403”。在浏览了一段时间的互联网之后,我似乎可以找到一个明确的答案,除了“确保服务帐户是所有者”,但如前所述,情况已经如此。
我希望有人可以帮助我,因为我被困在这个问题上的时间比我想承认的要长。
如果需要更多信息,我很乐意更新我的答案。
编辑:根据请求,这是 $httpClient->post() 调用返回的完整错误消息。