【发布时间】:2025-12-18 22:45:01
【问题描述】:
在这段代码中,我尝试在不存在的表上运行选择,getJobReference() 返回NULL,我很想捕捉这种错误,并希望以某种方式获得错误消息。
发生故障时如何获取错误信息?
$client = new Google_Client();
$client->setApplicationName("Client_Library_Examples");
//$client->setDeveloperKey(API_KEY);
if (isset($_SESSION['service_token'])) {
$client->setAccessToken($_SESSION['service_token']);
}
$key = file_get_contents($key_file_location);
$cred = new Google_Auth_AssertionCredentials(
$service_account_name, array(
'https://www.googleapis.com/auth/bigquery',
), $key
);
$client->setAssertionCredentials($cred);
if ($client->getAuth()->isAccessTokenExpired()) {
$client->getAuth()->refreshTokenWithAssertion($cred);
}
$_SESSION['service_token'] = $client->getAccessToken();
var_dump($_SESSION);
$bq = new Google_Service_Bigquery($client);
//build query
$sql = 'select * from example.table LIMIT 10';
$job = new Google_Service_Bigquery_Job();
$config = new Google_Service_Bigquery_JobConfiguration();
$queryConfig = new Google_Service_Bigquery_JobConfigurationQuery();
$config->setQuery($queryConfig);
$job->setConfiguration($config);
$queryConfig->setQuery($sql);
$insert = new Google_Service_Bigquery_Job($bq->jobs->insert(PROJECT_ID, $job));
$jr = $insert->getJobReference();
var_dump($jr);/*THIS RETURNS NULL */
$jobId = $jr['jobId'];
$res = new Google_Service_Bigquery_GetQueryResultsResponse($bq->jobs->getQueryResults(PROJECT_ID, $jobId));
//see the results made it as an object ok:
var_dump($res);
【问题讨论】:
-
你使用的是什么版本?
-
基于此:github.com/google/google-api-php-client 和 v2。
-
亲爱的 google,请更好地记录这个 sdk。谢谢。
标签: php google-bigquery google-api-php-client