Search code examples
phpgoogle-api-php-clientsymfony4php-7.2google-php-sdk

Getting 400 bad request error on google Talent Solutions api - symfony 4


On implementation of google Talent solutions API, I am getting this error,

{
"error": {
"code": 400,
"message": "Creation request should not have name set.. Request ID for tracking: 07547685-f322-4e9a-b650-0505e3801a8a:APAb7ISK9V8RN0bV6KYUm3BBwoEpL9WDIg==",
"errors": [
{
"message": "Creation request should not have name set.. Request ID for tracking: 07547685-f322-4e9a-b650-0505e3801a8a:APAb7ISK9V8RN0bV6KYUm3BBwoEpL9WDIg==",
"domain": "global",
"reason": "badRequest"
}
],
"status": "INVALID_ARGUMENT"
}
}

I followed below steps for implementation:

  • google-api-php-client client library
  • Symfony Code :

    $client = new \Google_Client();
    $client->setAuthConfig("/pathformyclient file/client.json");
    $client->addScope(\Google_Service_CloudTalentSolution::JOBS);
    $client->setHttpClient(new \GuzzleHttp\Client(['verify' => false]));
    $cloudTalentSolutionClient = new \Google_Service_CloudTalentSolution($client);
    $projectId = "my project ID";
    $parent = sprintf('projects/%s', $projectId);
    $company = new \Google_Service_CloudTalentSolution_Company();
    $company->setName("company name");
    $company->setDisplayName("company name");
    $company->setExternalId("1");
    $ci = new \Google_Service_CloudTalentSolution_CreateCompanyRequest();
    $ci->setCompany($company);
    $com = $cloudTalentSolutionClient->projects_companies->create($projectId,ci,array('parent' => $parent));
    dump($com);die
    

Kindly can you please help where I am missing or guide me in fixing this.


Solution

  • A 400 means you have sent a Bad Request - duff data!

    In your case, luckily, they tell you exactly what you did wrong - Creation request should not have name set..!

    So, don't set the name, and hopefully next request won't be an HTTP 400!

    https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/400