La soluzione migliore è utilizzare un proxy PHP o qualcosa di simile per modificare la query per aggiungere % 22 che trasforma la query in "query" prima di attivare la richiesta.
header('Content-type: application/json');
# Setup Base URL and array for Parameters
$host = 'https://www.googleapis.com/customsearch/v1?';
$queries = array();
$queries['cx'] = "CSEKey";
$queries['key'] = "YourAPIKey";
# Setup possible incoming params
if (isset($_GET['search_term'])) $queries['q'] = "%22"+ $_GET['search_term']+ "%22";
if (isset($_GET['result_count'])) $queries['result_count'] = $_GET['result_count'];
if (isset($_GET['callback'])) $queries['callback'] = $_GET['callback'];
# Build query and Final URL
$queriesURL = http_build_query($queries);
$finalURL = $host.$queriesURL;
/*
DEBUG generated URL
echo $finalURL;
*/
$response = file_get_contents($finalURL);
echo $response;
?>
Credo che questa tecnica ha costretto modalità Verbatim perché la nuova risposta JSON mancava la solita strana ortografia suggerita del nome:
"spelling": {
"correctedQuery": "Deo Vandski",
"htmlCorrectedQuery": "\u003cb\u003e\u003ci\u003eDeo Vandski\u003c/i\u003e\u003c/b\u003e"
},
Ho visto anche qualcosa su aggiungendo &tbs=li:1
, ma non ho visto alcuna differenza quando ho provato le mie ricerche ...