从本地主机调用 Google API
Calling Google API from localhost
我正在尝试从我的本地主机 Docker 容器调用 Google CSE Api。显然,这是行不通的。
我已将 CURLOPT_SSL_VERIFYPEER
定义为 false 以防止 SSL 证书验证,但没有成功。
如果有人对此有任何想法,将不胜感激。
我的代码:
// Create the google api client
$googleClient = new Google_Client();
// Set the google developer api key
$googleClient->setApplicationName('GoogleApi_Search');
$googleClient->setDeveloperKey(self::GOOGLE_SEARCH_API_KEY);
// for development purposes
$guzzleConfig = [
'curl' => [CURLOPT_SSL_VERIFYPEER => false],
'headers' => ['Referer' => 'localhost:8080'],
];
$guzzleClient = new Client($guzzleConfig);
$googleClient->setHttpClient($guzzleClient);
// The google custom search service client
$this->googleService = new Google_Service_Customsearch($googleClient);
// Define the search parameters
$this->searchParams = [
'cx' => self::GOOGLE_SEARCH_ENGINE_ID, // Custom search engine identifier
'gl' => 'en', // Location of results
'lr' => 'lang_en', // Language of results
'num' => 10, // Number of results (max. 10)
'start' => 0, // The current index (max. 10)
];
我通过将 start
参数设置为 1 而不是 0 解决了我的问题。显然,将其设置为 0
在服务器端触发 fatal error 导致错误 400 Invalid Value
和没有其他信息。
奇怪但有效。
我正在尝试从我的本地主机 Docker 容器调用 Google CSE Api。显然,这是行不通的。
我已将 CURLOPT_SSL_VERIFYPEER
定义为 false 以防止 SSL 证书验证,但没有成功。
如果有人对此有任何想法,将不胜感激。
我的代码:
// Create the google api client
$googleClient = new Google_Client();
// Set the google developer api key
$googleClient->setApplicationName('GoogleApi_Search');
$googleClient->setDeveloperKey(self::GOOGLE_SEARCH_API_KEY);
// for development purposes
$guzzleConfig = [
'curl' => [CURLOPT_SSL_VERIFYPEER => false],
'headers' => ['Referer' => 'localhost:8080'],
];
$guzzleClient = new Client($guzzleConfig);
$googleClient->setHttpClient($guzzleClient);
// The google custom search service client
$this->googleService = new Google_Service_Customsearch($googleClient);
// Define the search parameters
$this->searchParams = [
'cx' => self::GOOGLE_SEARCH_ENGINE_ID, // Custom search engine identifier
'gl' => 'en', // Location of results
'lr' => 'lang_en', // Language of results
'num' => 10, // Number of results (max. 10)
'start' => 0, // The current index (max. 10)
];
我通过将 start
参数设置为 1 而不是 0 解决了我的问题。显然,将其设置为 0
在服务器端触发 fatal error 导致错误 400 Invalid Value
和没有其他信息。
奇怪但有效。