PHPでは、既存のスプレッドシートに新しいシート(別名タブ)を作成する方法についてはGoogle Sheets API v4 documentationからは不明です。GoogleスプレッドシートAPI v4を使用してPHPでスプレッドシートに新しいシートまたはタブを作成する方法
奇妙なことに、API Explorerで私はそれを行うことができますが、それはPHPでこれを行う方法から説明していません。
PHPでは、既存のスプレッドシートに新しいシート(別名タブ)を作成する方法についてはGoogle Sheets API v4 documentationからは不明です。GoogleスプレッドシートAPI v4を使用してPHPでスプレッドシートに新しいシートまたはタブを作成する方法
奇妙なことに、API Explorerで私はそれを行うことができますが、それはPHPでこれを行う方法から説明していません。
ドキュメントでは、$service->spreadsheets_values
コレクションのbatchUpdateを使用する必要があるようです。しかしそれは間違っている。それは$service->spreadsheets
コレクションである必要があります。試行錯誤の多くの後、適切な答えは次のとおりです。
try {
$body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
'requests' => array(
'addSheet' => array(
'properties' => array(
'title' => 'New Sheet'
)
)
)
));
$result1 = $service->spreadsheets->batchUpdate($sSpreadsheetID,$body);
} catch(Exception $ignore) {}
すでに$client
オブジェクトを取得するには、あなたのAPIを認証し、その後、クラスGoogle_Service_Sheets
の$service
オブジェクトを取得することを使用していることを考えると、あなたのことを考えますあなたのスプレッドシートのIDにを割り当てている場合、上記のルーチンはスプレッドシートに「New Sheet」という名前の既存のタブを追加せずに新しいタブを追加しようとしますが、このタブが既に存在する場合はエラーを表示しません。その時点で、A1表記でそれを扱うことで、新しいシートで何か新しいことをすることができます。
ドキュメントでは、値コレクションを使用すると言いますか? –
ここに:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet – Volomike
シートを追加するために値コレクションを使用するというページの部分を引用できますか?私はそれを見ませんが、それがそれを言えば私はそれを修正したいと思います。 –