SHEETSU PHPライブラリは、Composerを通じて利用できます。
composer.jsonファイルを編集するか、端末でこのコマンドを押すことができます
composer require emilianozublena/sheetsu-php
メインのSheetsuオブジェクトをインスタンス化し、SheetidにSheetsuダッシュボードでこのURLを見つけることができます。 Composer's Autoloadを使用することを忘れないでください。
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId '
]); APIのHTTP Basic認証がオンになっている場合は、次のようにkeyとsecret渡す必要があります。
require ( ' vendor/autoload.php ' );
use Sheetsu Sheetsu ;
$ sheetsu = new Sheetsu ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
]);必要に応じて、作成後にライブラリを再活性化(または初期化)することができます
# Initialize after creation
$ sheetsu = new Sheetsu ();
$ sheetsu -> initialize ([
' sheetId ' => ' sheetId ' ,
' key ' => ' key ' ,
' secret ' => ' secret '
])SHEETSU PHPライブラリには、コレクションの抽象データ型の小さな実装が付属しています。
モデルはコレクションの単位です(この場合、各モデルは指定されたシートの行を表します)。
(CRUD操作の場合)Sheetsuクライアントに配列を与える代わりに、次のようなことができます。
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );コレクションとモデルは、APIを呼び出すたびに取得する2つのオブジェクトです。
ドキュメントへのリンク
Googleスプレッドシートにデータを追加するには、アレイ、配列の配列、またはより簡単に送信して、モデルまたはコレクションで動作します。
# Adds single row from array
$ sheetsu -> create ([ ' name ' => ' John ' ]);
# Adds multiple rows from array
$ sheetsu -> create ([
[ ' name ' => ' John ' ],
[ ' name ' => ' Steve ' ]
]);
# Adds single row from Model
$ sheetsu -> create (Model:: create ([ ' name ' => ' John ' ]));
# Adds multiple rows from Collection
$ collection = new Collection ();
$ collection -> addMultiple ([
Model:: create ([ ' name ' => ' John ' ]),
Model:: create ([ ' name ' => ' Steve ' ])
]);
$ response = $ sheetsu -> create ( $ collection );通話が行われた後、応答オブジェクトを返します。
ドキュメントへのリンク
シート全体を読んでください
$ response = $ sheetsu -> read ();
$ collection = $ response -> getCollection ();読み取り関数を使用すると、2つのパラメーターが許可されます
limit - 結果の制限数offset -Nファーストレコードから開始します # Get first two rows from sheet starting from the first row
$ response = $ sheetsu -> read ( 2 , 0 );
$ collection = $ response -> getCollection ();ドキュメントへのリンク
検索基準に一致する行を取得するには、基準で配列を渡します
# Get all rows where column 'id' is 'foo' and column 'value' is 'bar'
$ response = $ sheetsu -> search ([
' id ' => ' foo ' ,
' value ' => ' bar '
]);
$ collection = $ response -> getCollection ();
# Get all rows where column 'First name' is 'Peter' and column 'Score' is '42'
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
]);
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 );
$ collection = $ response -> getCollection ();
# Get first two row where column 'First name' is 'Peter',
# column 'Score' is '42' from sheet named "Sheet3"
# with ignore case
$ response = $ sheetsu -> search ([
' First name ' => ' Peter ' ,
' Score ' => ' 42 '
], 2 , 0 , true );
$ collection = $ response -> getCollection ();ドキュメントへのリンク
行を更新するには、列名とその値を通過します。これは、更新するデータを使用した行とモデルを見つけるために使用されます。
# Update all columns where 'name' is 'Peter' to have 'score' = 99 and 'last name' = 'Griffin'
$ model = Model:: create ([ ' score ' => ' 99 ' , ' last name ' => ' Griffin ' ]);
$ response = $ sheetsu -> update ( ' name ' , ' Peter ' , $ model );デフォルトでは、パッチ要求が送信されます。これは、メソッドに渡されたコレクション内の値のみを更新しています。リクエストを送信するには、4番目の引数がtrueであることを渡します。 Sheetsu DocsのPutとPatchの違いの詳細については、詳細をご覧ください。
ドキュメントへのリンク
行を削除するには、列名とその値を通過して、行を見つけるために使用されます。
# Delete all rows where 'name' equals 'Peter'
$ response = $ sheetsu -> delete ( ' name ' , ' Peter ' );取り組んでいるシートを変更する必要がある場合は、シート機能を使用して新しいSHEETSU IDを渡すことでそれを行うことができます
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )この機能を他の人と一緒にチェーンすることもできます。
# Change active sheetsu to 'THIS'
$ sheetsu -> sheet ( ' THIS ' )-> read ();スプレッドシート全体を使用する必要がある場合は簡単です。
# Back to whole spreadsheet
$ sheetsu -> whole ()この機能を他の人と一緒にチェーンすることもできます。
# Back to whole spreadsheet
$ sheetsu -> whole ()-> read ();SHEETSU PHPライブラリは、接続クラスを介して接続を処理します。このクラスは、接続を作成するためにCurlを使用し、返信として応答クラスを使用します。応答オブジェクトは、コレクション、モデル、またはエラー(または最後の呼び出しからのその他の応答)を与える責任者です。エラー処理は応答オブジェクトを介して行われます(応答はエラーハンドラークラスを使用してトライ/キャッチブロックを抽象化し、Errorexception PHPクラスにしっかりと結合します)
$ response = $ sheetsu -> read ();
#if you need only the error messages, you can get the errors like this
$ errors = $ response -> getErrors ();
$ firstError = $ response -> getError ();
#if you need to get the exceptions thrown, do it like this.
$ exceptions = $ response -> getExceptions ();
$ firstException = $ response -> getException ();このライブラリは、コードカバレッジの97%を超えています。テストの一部は模擬オブジェクトを使用していません。これは私たちのやることリストにあり、私たちがそうすることを願っています。テストはPHPunitで使用する準備ができており、テストスイートはXMLを介して構成されているため、このレポのフォークバージョンでPHPunitを実行するだけで済みます。
./vendor/bin/phpunit