0

我有一个网站,它完成了从云端的 Google BigQuery 获取 USN 的简单工作。现在,每次访问时,我都需要有一个 Google 帐户和那个特定的电子邮件 ID,应该在“团队标签”中分配“权限”。我基本上希望每个人都可以使用该网站。我正在使用 PHP,所以我需要有关此处有用的功能的帮助。

4

2 回答 2

0

您必须通过 google 控制台创建一个“服务帐户”并在您的服务器上下载私钥文件 (.p12)。并使用以下代码

/**
   * setup service client using key file
   * @param String $keyFileLoc location of .p12 file provided in google console
   * @param String $clientEmail client location provided in google console
   */
   function setupServiceClient($keyFileLoc,$clientEmail){
       $client = new Google_Client();
       $service = new Google_Service_Bigquery($client);
       $client->setApplicationName("My Application Name");
       $key = file_get_contents($keyFileLoc);
       $cred = new Google_Auth_AssertionCredentials(
           $clientEmail,
           array('https://www.googleapis.com/auth/bigquery'),
           $key
       ); 
       $this->client->setAssertionCredentials($cred);
       return $service;
  }
于 2014-07-22T07:40:51.880 回答
0

构建有权访问 BigQuery API 的应用程序(而不是要求用户授权步骤)的最佳方法是使用 OAuth2 服务帐户。本质上,服务帐户授权为“服务器到服务器”交互(例如与 BigQuery API 交互的服务器端 PHP 脚本)提供基于证书的授权。

这里有使用具有服务帐户授权的 Google PHP 客户端库的文档。

于 2012-11-28T18:49:29.900 回答