我的目标是将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,那么我的代码有什么问题?
请建议我。
答案 0 :(得分:0)
Google的Talent API仅适用于您提供的数据,因此,是的,您应该创建公司和职位,然后将搜索应用于这些职位。
他们发布的用于启动使用此API的应用程序的checklist的第二步是索引公司和职位,其中明确提到了来自您自己的数据库:>
创建至少一个公司。我们建议为以下对象创建公司对象 数据库中所有具有空缺职位的公司。
为您的公司创建工作。我们建议为创建作业对象 数据库中所有打开的作业。
Ivan Davchev在宣布该API的Google会议之后发布了article,这是支持这一令人失望现实的其他证明:
什么是Google Jobs API?
这是搜索您的职位的一揽子解决方案。像大多数基于云的搜索>解决方案一样,您需要向其提供文档(职位),并对其进行索引并使其可搜索。
[...]
它不是聚合器,并且不提供“世界上所有的工作”。 >因此,您无法在下午使用此API来打造“确实”竞争对手。它仅搜索>您提供的内容,这就是为什么工作委员会和申请人跟踪系统>使用该系统才有意义-工作被发布在这些系统上并由这些系统管理。