Search code examples
phpgoogle-docs-api

PHP Google Docs API - create options not working


When a new Google Doc is create:

    $title = '5 - Testing';
    $opcoes = [
        'title' => $title,
        'documentStyle' => [
            'background' => [ 
                'color' => [
                    'color' => [
                        'rgbColor' => [
                            'red' => 1.0,
                            'green' => 0.0,
                            'blue' => 0.0
                        ]
                    ]
                ] 
            ],
            'pageSize' => [
                'height' => ['magnitude' => 297 * 0.35146, 'unit' => 'PT'],
                'width' => ['magnitude' => 210 * 0.35146, 'unit' => 'PT'],
            ],
            'marginTop' => ['magnitude' => 27 * 0.35146, 'unit' => 'PT'],
            'marginBottom' => ['magnitude' => 15 * 0.35146, 'unit' => 'PT'],
            'marginLeft' => ['magnitude' => 25 * 0.35146, 'unit' => 'PT'],
            'marginRight' => ['magnitude' => 15 * 0.35146, 'unit' => 'PT'],
        ]
    ];
    $documento = new Google_Service_Docs_Document($opcoes);

    try {
        $documento = $this->docService->documents->create($documento);
    } catch (Exception $e) {
        die($e);
    }

The doc is created but with the default options (background color white, margins 2.5cm)

Same result when I use API explorer.

Any idea what's going on?


Solution

  • Issue:

    documents.create can only be used to create a blank document and set its title:

    Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored.

    Use batchUpdate:

    Any other customization of the document has to be made via documents.batchUpdate.

    Check the list of available update requests here.

    And, more specifically, check UpdateDocumentStyleRequest.