2017-02-19 28 views
2

PHPでは、既存のスプレッドシートに新しいシート(別名タブ)を作成する方法についてはGoogle Sheets API v4 documentationからは不明です。GoogleスプレッドシートAPI v4を使用してPHPでスプレッドシートに新しいシートまたはタブを作成する方法

奇妙なことに、API Explorerで私はそれを行うことができますが、それはPHPでこれを行う方法から説明していません。

答えて

3

ドキュメントでは、$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表記でそれを扱うことで、新しいシートで何か新しいことをすることができます。

+0

ドキュメントでは、値コレクションを使用すると言いますか? –

+0

ここに:https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet – Volomike

+0

シートを追加するために値コレクションを使用するというページの部分を引用できますか?私はそれを見ませんが、それがそれを言えば私はそれを修正したいと思います。 –

関連する問題