0

は私がタスクを実行するために、コードの上に使用していますphpでgoogle sheets api v4でdatetimerenderoptionを使用するには?

$range = $sheetName; 
$response = $service->spreadsheets_values->get($spreadsheetId, $range); 
$values = $response->getValues(); 
$lastRow = count($values); 
$rowIndex = $lastRow; 
$columnIndex = 0; 

$requests = array(); 
$requests[] = new Google_Service_Sheets_Request(array(
    'updateCells' => array(
     'start' => array(
      'sheetId' => $sheetId, 
      'rowIndex' => $rowIndex, 
      'columnIndex' => $columnIndex 
     ), 
     'rows' => array(
      array(
       'values' => array(
        array(
         'userEnteredValue' => array('numberValue' => '111111'), 
         'userEnteredFormat' => array('backgroundColor' => array('red'=>1, 'green'=>0.94, 'blue'=>0.8)) 
        ), 
        array(
         'userEnteredValue' => array('stringValue' => 'aaaaaaaaa'), 
         'userEnteredFormat' => array('backgroundColor' => array('red'=>1, 'green'=>0.94, 'blue'=>0.8)) 
        ), 
        array(
         'userEnteredValue' => array('numberValue' => '2015-05-05'), 
         'userEnteredFormat' => array('numberFormat' => array('type'=>'DATE', 'pattern'=>'yyyy-mm-dd'), 'backgroundColor' => array('red'=>1, 'green'=>0.94, 'blue'=>0.8)) 
        ) 
       ) 
      ) 
     ), 
     'fields' => 'userEnteredValue,userEnteredFormat.backgroundColor' 
    ) 
)); 

$batchUpdateRequest = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
    'requests' => $requests 
)); 

try { 
    $service->spreadsheets->batchUpdate($spreadsheetId, $batchUpdateRequest); 
} catch(Exception $e) { 
    print_R($e); 
} 

PHPでv4のAPIを使用して、Googleスプレッドシートの3列を記述する必要があり、私が直面しています唯一の問題は、日付を挿入している間、私はエラーを取得していますということです。

datetimerenderoptionは日付を挿入するために使用されていますが、私はそれを行う方法がわかりません。

+0

私はあなたのコードを再フォーマットしましたが、あなたは何を得ているのか、あなたは何をdatetimerenderオプションで試したのかを知ることは有益でしょう。 –

+0

Googleスプレッドシートでリクエストを作成/操作する方法のまともな例を提供してくれてありがとう!私は、APIドキュメントが特に役に立たないことを知っています。 – Antony

答えて

0

DateTimeRenderOptionは、values collection APIで使用されています(また、読み書き用であり、書き込み用ではありません)。 spreadsheets collection APIを使用しています。このAPIは、より骨が少なく、その便利なオプションを使用しません。

あなたが受け取っているエラーを貼り付けると、助けが簡単になりますが、私はそれがnumberValueに設定されている行と何らかの関係があると仮定しています。 docs say numberValueには文字列ではなく数値が入ります。日付を設定する場合は、その日付の番号をSerial Number formatに入力する必要があります。 this SO answerに、シリアル番号を扱う際の推奨事項を確認できます。

+0

エラーが発生しました - '要求[0] .update_cells.rows [0] .values [2] .user_entered_value.number_value'(TYPE_DOUBLE)、 "2016-05-05"の値が無効です –

+0

はい、それは私が思考が問題でした。あなたは数字を望むものにストライクを渡している。私の上の答えを見てください。 –

+0

PHPでシリアル番号フォーマットを設定する方法がわかりません。助けてください –

関連する問題