得到来自Google Talent API的空白回复

时间:2019-02-13 12:18:34

标签: php google-api artificial-intelligence google-api-php-client

我的目标是将Google Jobs搜索结果加载到我的自定义网站中。 因此,我为此在Google上创建了帐户并启用了Google Talent API。在对Google Cloud API帐户启用结算后,他们允许我使用API​​密钥和服务帐户凭据向该API请求。

我目前正在通过api-client-php库使用PHP。

为此,我已经从Google Console Talent Platform下载了用于凭证(.client_secret.json)的.json文件。

这是我的PHP示例代码。

require 'vendor/autoload.php';

// Instantiate the client
$client = new Google_Client();

$api_key = 'AdsadsIzaSyBYAMxEPPasdadadw5VHITCdREQW7WYeIGs8jRlUYqlzLM';
$client->setDeveloperKey($api_key);
$client->setAuthConfig(getcwd() . '/client_secret.json');
$client->setScopes(array(
'https://www.googleapis.com/auth/jobs',
'https://www.googleapis.com/auth/cloud-platform'
));
$jobs = new Google_Service_JobService($client);
$location='USA';

// Set the Metadata
$requestMetadata = new Google_Service_JobService_RequestMetadata();
$requestMetadata->setUserId('000aaaa');
$requestMetadata->setSessionId('000aaaa-1212-21212');
$requestMetadata->setDomain('www.google.com');
$jobQuery = new Google_Service_JobService_JobQuery();
$keyword='software OR java';
$jobQuery->setQuery($keyword);

// Search Job Request
$searchRequest = new Google_Service_JobService_SearchJobsRequest();
$searchRequest->setRequestMetadata($requestMetadata);
$searchRequest->setQuery($jobQuery);
$searchRequest->setMode('JOB_SEARCH');
$jobService = new Google_Service_JobService($client);

$response = $jobService->jobs->search($searchRequest);

echo "<pre>";
print_r($response);
print_r($response->matchingJobs);

在发送此请求时,我们正在获取matchjobs空白数组,但是$ response有一些对象数组。就像不输出而是只请求信息一样。

这是到目前为止,我们使用Talent Search API得到的响应。

Google_Service_JobService_SearchJobsResponse Object
(
    [collection_key:protected] => matchingJobs
    [appliedCommuteFilterType:protected] => Google_Service_JobService_CommutePreference
    [appliedCommuteFilterDataType:protected] => 
    [appliedJobLocationFiltersType:protected] => Google_Service_JobService_JobLocation
    [appliedJobLocationFiltersDataType:protected] => array
    [estimatedTotalSize] => 
    [histogramResultsType:protected] => Google_Service_JobService_HistogramResults
    [histogramResultsDataType:protected] => 
    [jobView] => 
    [matchingJobsType:protected] => Google_Service_JobService_MatchingJob
    [matchingJobsDataType:protected] => array
    [metadataType:protected] => Google_Service_JobService_ResponseMetadata
    [metadataDataType:protected] => 
    [nextPageToken] => 
    [numJobsFromBroadenedQuery] => 0
    [spellResultType:protected] => Google_Service_JobService_SpellingCorrection
    [spellResultDataType:protected] => 
    [totalSize] => 
    [internal_gapi_mappings:protected] => Array
        (
        )

    [modelData:protected] => Array
        (
        )

    [processed:protected] => Array
        (
        )

    [metadata] => Google_Service_JobService_ResponseMetadata Object
        (
            [collection_key:protected] => experimentIdList
            [experimentIdList] => Array
                (
                    [0] => 11300310
                    [1] => 11300342
                )

            [mode] => JOB_SEARCH
            [requestId] => f5cacd36-db29-4d65-851f-34a97c98af79:APAb7IRQAVop4QZ6rC2OlKjcEARRJQHI8w==
            [internal_gapi_mappings:protected] => Array
                (
                )

            [modelData:protected] => Array
                (
                )

            [processed:protected] => Array
                (
                )

        )

)
Array
(
)

我在这里感到困惑,人才API可以在我们的网站上搜索并加载Google职位我们需要创建公司和职位,而他们只是使用AI和ML提供高级搜索过滤器?

如果他们在我们的网站上提供google Jobs,那么我的代码有什么问题?

请建议我。

1 个答案:

答案 0 :(得分:0)

Google的Talent API仅适用于您提供的数据,因此,是的,您应该创建公司和职位,然后将搜索应用于这些职位。

他们发布的用于启动使用此API的应用程序的checklist的第二步是索引公司和职位,其中明确提到了来自您自己的数据库:

  

创建至少一个公司。我们建议为以下对象创建公司对象   数据库中所有具有空缺职位的公司。

     

为您的公司创建工作。我们建议为创建作业对象   数据库中所有打开的作业。

Ivan Davchev在宣布该API的Google会议之后发布了article,这是支持这一令人失望现实的其他证明:

  

什么是Google Jobs API?

     

这是搜索您的职位的一揽子解决方案。像大多数基于云的搜索>解决方案一样,您需要向其提供文档(职位),并对其进行索引并使其可搜索。

     

[...]

     

它不是聚合器,并且不提供“世界上所有的工作”。 >因此,您无法在下午使用此API来打造“确实”竞争对手。它仅搜索>您提供的内容,这就是为什么工作委员会和申请人跟踪系统>使用该系统才有意义-工作被发布在这些系统上并由这些系统管理。