У меня есть веб-сайт портала вакансий (WordPress + PHP), и я хочу использовать API индексации Google для своего веб-сайта. У меня нет опыта работы с GoogleAPI, поэтому я просто прочитал их рекомендации.
Согласно руководству, для использования API индексации у него есть 3 шага:
- Выполните необходимые условия, включив API индексирования, создав новую учетную запись службы и подтвердив право собственности в консоли поиска.
- Получите токен доступа для аутентификации вашего вызова API.
- Отправляйте запросы на уведомление 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-интерфейс Indexing для автоматической отправки запроса в Google всякий раз, когда кто-то публикует новую работу?
С Уважением,
Вы должны передать его как заголовок проверки подлинности на предъявителя в вашем запросе.
Авторизация: Носитель
Вы также можете передать его как часть строки запроса, хотя я не могу вспомнить, работает ли это с почтовыми вызовами.
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();
Убедитесь, что вы правильно настроили сервисную учетную запись создать учетную запись службы
Вы должны обязательно подтвердить право собственности на сайт в консоли поиска: https://www.google.com/webmasters/tools/home
Вы можете подтвердить свою учетную запись службы, как
my-service-account@project-name.google.com.iam.gserviceaccount.com