Как отправить пакетный запрос с помощью Google Indexing API - PullRequest
0 голосов
/ 26 ноября 2018

Я слежу за индексацией Google API

И я хочу отправить пакетный запрос с помощью Google_Service_Indexing.

В PHP, пожалуйста, помогите мне.Как это сделать.В документе Google это Google_Service_Books.Я пытался с PHP, как:

      //set google client
      $client = new Google_Client();
      $client->setAuthConfig('my_key.json');
      $client->addScope('https://www.googleapis.com/auth/indexing');
      $client->setUseBatch(true);
      //set batch
      $batch = new Google_Http_Batch($client);
      //set service
      $service = new Google_Service_Indexing($client);

      $postBody = new Google_Service_Indexing_UrlNotification();
      $postBody->setType('URL_UPDATED');
      $postBody->setUrl('https://my_job_detail');
      $service->urlNotifications->publish($postBody);
      $batch ->add($service);
      $results = $batch->execute();

И я застрял в ошибке:

Аргумент 1, передаваемый в Google_Http_Batch :: add () должен реализовать интерфейс Psr \ Http \ Message \ RequestInterfaceзадан экземпляр Google_Service_Indexing_UrlNotification, который вызывается в /Applications/MAMP/htdocs/Jukukoushi/src/Controller/ToppagesController.php в строке 340 URL запроса: /

1 Ответ

0 голосов
/ 27 ноября 2018

Я попробовал с PHP и завершил.

   //init google client
    $client = new Google_Client();
    $client->setAuthConfig('your_path_to_key.json');
    $client->addScope('https://www.googleapis.com/auth/indexing');
    $client->setUseBatch(true);

    //init google batch and set root URL
    $batch = new Google_Http_Batch($client,false,'https://indexing.googleapis.com');

    //init service Notification to sent request
    $postBody = new Google_Service_Indexing_UrlNotification();
    $postBody->setType('URL_UPDATED');
    $postBody->setUrl('https://your_job_detail');

    //init service Indexing ( like updateJobPosting )
    $service = new Google_Service_Indexing($client);
    //create request
    //$service->urlNotifications->createRequestUri('https://indexing.googleapis.com/batch');
    $request_kame = $service->urlNotifications->publish($postBody);
    //add request to batch
    $batch ->add($request_kame);
...