【问题标题】:GCP BigQuery PHP client get list of projectsGCP BigQuery PHP 客户端获取项目列表
【发布时间】:2018-11-11 09:01:38
【问题描述】:

这是我当前的代码,它只带回一个项目。 如何获取所有可访问项目的列表?

# Includes the autoloader for libraries installed with composer
require __DIR__ . '/../vendor/autoload.php';

# Imports the Google Cloud client library
use Google\Cloud\BigQuery\BigQueryClient;

$client = new Google_Client();
$client->setAuthConfig(__DIR__ . '/../gcp-bigquery-key.json');
$scopes = implode(' ', [Google_Service_Bigquery::BIGQUERY]);

$client->setScopes($scopes);
$service = new Google_Service_Bigquery($client);

$tQ = $service->projects->listProjects();
print_r($tQ);

【问题讨论】:

    标签: php google-cloud-platform google-bigquery


    【解决方案1】:

    我了解到您正在使用 BigQuery 令牌作为授权。由于该密钥对 BigQuery 有效,因此您将获得包含该 BigQuery 的项目。

    要查看所有项目,您可以查看文档 [1] 中的此代码:

    require_once __DIR__ . '/vendor/autoload.php';
    
    $client = new Google_Client();
    $client->setApplicationName('Google-CloudResourceManagerSample/0.1');
    $client->useApplicationDefaultCredentials();
    $client->addScope('https://www.googleapis.com/auth/cloud-platform');
    
    $service = new Google_Service_CloudResourceManager($client);
    
    $optParams = [];
    
    do {
      $response = $service->projects->listProjects($optParams);
    
      foreach ($response['projects'] as $project) {
        // TODO: Change code below to process each `project` resource:
        echo '<pre>', var_export($project, true), '</pre>', "\n";
      }
    
      $optParams['pageToken'] = $response->getNextPageToken();
    } while ($optParams['pageToken']);
    ?>
    

    【讨论】:

      猜你喜欢
      • 2018-12-17
      • 2021-12-23
      • 1970-01-01
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多