HOME > > >

GoogleClient

認証なしのスプレッドシートの読み込みサンプル

https://docs.google.com/spreadsheets/d/1dAELAhNQt_V2ywJt0amCyc0IOFrqA7hGESYiLWgLqrA/edit#gid=723633898

  1. <?php
  2. $client = new Google_Client();
  3. $client->setApplicationName("Client_Library_Examples");
  4. $client->setDeveloperKey(\App\Google::API_KEY);
  5. $client->setScopes([
  6.     Google_Service_Sheets::SPREADSHEETS
  7. ]);
  8.  
  9. // スプレッドシートID
  10. $sheet_id = '1dAELAhNQt_V2ywJt0amCyc0IOFrqA7hGESYiLWgLqrA';
  11.  
  12. // スプレッドシートのサービス作成
  13. $service = new Google_Service_Sheets($client);
  14.  
  15. try {
  16.     /**
  17.      * @var Google_Service_Sheets_Spreadsheet $response
  18.      */
  19.     $response = $service->spreadsheets->get($sheet_id);
  20.  
  21.     /**
  22.      * @var Google_Service_Sheets_ValueRange $response
  23.      */
  24.     $response = $service->spreadsheets_values->get($sheet_id, 'Linux ディストリビューション!$A:$H');
  25.     $values = $response->getValues();
  26. } catch (\Exception $e) {
  27.     echo $e->getMessage();
  28. }
  29.  
  30. $html = '';
  31. foreach ($values as $row) {
  32.     if (count($row) !== 8) {
  33.         continue;
  34.     }
  35.     $name = $row[0];
  36.     $creator = $row[1];
  37.     $uses = $row[7];
  38.  
  39.     $html .= sprintf('%s(%s) - %s<br>', $name, $creator, $uses);
  40. }
  41.  
  42. echo $html;
  43. ?>

実行結果

ディストリビューション(製作者) - 用途
aptosid(Stefan Lippers-Hollmann (slh)) - 汎用
Arch Linux(Aaron Griffin) - 汎用
Asianux(Red Flag Linux, Miracle Linux, Haansoft Linux) - ワークステーション, サーバー
Bash on Ubuntu on Windows(Canonical Ltd[1], Microsoft Corporation) - デスクトップ
CentOS(CentOS Project) - サーバー, ワークステーション, デスクトップ, ラップトップ
Damn Small Linux(ジョンアンドリューズ) - 汎用
Debian GNU/Linux(Ian Murdock) - 汎用
Fedora(Fedora Project) - 汎用
Foresight Linux(Ken VanDine) - デスクトップ, ワークステーション
Gentoo Linux(Daniel Robbins) - 汎用
Kanotix(Jörg Schirottke (Kano)) - Live CD, デスクトップ
KNOPPIX(Klaus Knopper) - Live CD
Linspire(Lindows.com, Inc.) - デスクトップ
Linux Mint(Clement Lefebvre) - デスクトップ
LMDE (Linux Mint Debian Edition)(Clement Lefebvre) - デスクトップ
Linux from Scratch(Gerard Beekmans) - 学習
Lunar-Linux(Auke Kok) - 汎用
Mageia(Mageia Community) - デスクトップ
Mandriva Linux(Mandrakesoft S.A.) - デスクトップ
Manjaro Linux(Philip Müller, Roland Singer) - デスクトップ
MathLibre (KNOPPIX/Math)[4](MathLibre Project) - 学校教育用, 数式処理システム
MontaVista Linux(MontaVista Software) - 組み込みシステム
openSUSE(S.u.S.E. GmbH, SUSE, GmbH) - 汎用
Oracle Linux(Oracle) - サーバー
Parsix(Alan Baghumian) - デスクトップ/ラップトップ
PCLinuxOS(Bill Reynolds) - デスクトップ
Plamo Linux(こじまみつひろ) - デスクトップ
Puppy Linux(Barry Kauler) - デスクトップ
Qubes OS(Joanna Rutkowska) - デスクトップ
Red Hat Enterprise Linux(Red Hat & Fedora Project) - サーバー, メインフレーム, 研究開発, 事務
Red Hat Linux(Red Hat) - サーバー, ワークステーション, メインフレーム
Sabayon Linux(lxnay Design) - デスクトップ
Scientific Linux(CERN, Fermilab) - スーパーコンピュータ, 研究開発, 政府機関
sidux(Stefan Lippers-Hollmann (slh)) - デスクトップ
SimplyMEPIS(Warren Woodford) - デスクトップ
Slackware(Patrick Volkerding) - デスクトップ, ワークステーション, サーバー
SLAX(Tomas Matejicek) - 汎用 live CD
Tiny Core Linux(Robert Shingledecker) - デスクトップ, サーバー
Trisquel GNU/Linux(Rubén Rodríguez) - デスクトップ, サーバー, 教育用
Ubuntu(Canonical Ltd.) - デスクトップ, サーバー,クラウド
Ubuntu Studio(Canonical Ltd.) - ハイエンドデスクトップ
Kubuntu(Canonical Ltd.) - デスクトップ
Xubuntu(Canonical Ltd.) - デスクトップ
Lubuntu(Canonical Ltd.) - デスクトップ
Edubuntu(Canonical Ltd.) - 学校教育用
Vine Linux(Project Vine) - 汎用
Xandros(Xandros Corp.14.04.4 LTS (Trusty Tahr)) - デスクトップ
RedHawk Linux(Concurrent Computer) - リアルタイムサーバー

メソッド

setApplicationName($applicationName)

アプリケーション名を設定する。設定した値はheaderに利用される。

$applicationName
string