0

我有一个工作门户网站(Wordpress + PHP),我想为我的网站使用 Google Indexing API。我对 GoogleAPI 没有任何经验,所以我只是阅读了他们的指导。根据指南,要使用索引 API,它有 3 个步骤:

  1. 通过启用 Indexing API、创建新的服务帐户并在 Search Console 中验证所有权来完成先决条件。
  2. 获取访问令牌以验证您的 API 调用。
  3. 发送请求以通知 Google 有新的、更新的或删除的网页。

我完成了第 1 步,但第 2 步和第 3 步真的让我很困惑。似乎我需要通过编码获取 OAuth 令牌,但我应该将这些代码放在哪里?对于使用 API,他们向我展示了这个示例:

POST https://indexing.googleapis.com/v3/urlNotifications:publish
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}

同样,我不确定我应该将这些块代码放在哪里使用 API。任何人都可以知道这一点,可以逐步解释如何为我做这件事吗?最后一个问题:因为我的网站每天大约有 10 到 15 个新职位发布。每当有人发布新工作时,我可以以某种方式将此索引 API 自动发送请求设置到 Google 吗?问候,

4

4 回答 4

3

您应该在请求中将其作为承载身份验证标头传递。

授权:承载

您也可以将它作为请求字符串的一部分传递,但我不记得这是否适用于 post 调用。

POST https://indexing.googleapis.com/v3/urlNotifications:publish?Access_token=XXXX
{
  "url": "https://careers.google.com/jobs/google/technical-writer",
  "type": "URL_UPDATED"
}

如果您使用的是 php,您应该考虑使用Google php 客户端库,它将为您处理大部分内容。这是他们在此处的示例中推荐的

require_once 'google-api-php-client/vendor/autoload.php';

$client = new Google_Client();

// service_account_file.json is the private key that you created for your service account.
$client->setAuthConfig('service_account_file.json');
$client->addScope('https://www.googleapis.com/auth/indexing');

// Get a Guzzle HTTP Client
$httpClient = $client->authorize();
$endpoint = 'https://indexing.googleapis.com/v3/urlNotifications:publish';

// Define contents here. The structure of the content is described in the next step.
$content = "{
  \"url\": \"http://example.com/jobs/42\",
  \"type\": \"URL_UPDATED"
}";

$response = $httpClient->post($endpoint, [ 'body' => $content ]);
$status_code = $response->getStatusCode();

确保您已正确设置服务帐户创建服务帐户

于 2018-09-05T06:07:14.293 回答
1

您必须确保在 Search Console 中验证网站所有权:https: //www.google.com/webmasters/tools/home

  1. 点击您已验证的属性。
  2. 从您已验证的属性旁边的“设置”齿轮中选择“验证详细信息”。
  3. 在已验证的所有者下,单击添加所有者。
  4. 将您的服务帐户电子邮件地址作为所有者添加到该媒体资源。

您可以确认您的服务帐户,例如 my-service-account@project-name.google.com.iam.gserviceaccount.com

在此处输入图像描述

于 2018-11-28T03:17:33.190 回答
1

激活 Google 索引 API:https ://console.developers.google.com/apis/library/indexing.googleapis.com

在 PHP 中,您可以通过以下方式找到有关错误的更多信息:

$body = $response->getBody();
$stringBody = (string) $body;
于 2020-01-24T16:02:05.437 回答
-1

Rank Math 刚刚发布了免费的 WordPress 索引插件,你可以试一试,它会自动完成所有的事情。更多详情:https ://rankmath.com/blog/google-indexing-api/

于 2019-06-01T19:52:22.313 回答