Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Google Planilhas Avançado - #43 Lendo dados da Planilha via API

06/01/2020

Na aula de hoje realizaremos a leitura dos dados vindos da planilha do Google Spreadsheet utilizando a API.

Lendo dados via API do Google Planilhas

Antes de iniciar os trabalhos com o PHP, não esqueça de iniciar o WampServer e verificar se ele está verdinho no canto inferior direito da barra de ferramentas.

Começaremos a desenvolver pelo nosso html do index.php que ficará assim:

<!doctype html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>API Google Planilhas</title>
</head>

<body>
    <h1>API Google Planilhas</h1><hr>
    <a href="views/read.php">Leitura de dados</a><br>
</body>

</html>

Posteriormente vamos iniciar o nosso projeto no composer. Vamos seguir os comandos abaixo:

cd c:/wamp64/www/lib
composer init

Vou preencher com os dados do projeto, conforme vemos no vídeo e posteriormente vamos finalizar com:

composer update
composer require google/apiclient:^2.0

Dentro de lib/composer.json vamos inserir o código para trabalharmos com namespaces próprios:

,
"autoload":{
    "psr-4":{
        "Classes\\":"../class"
    }
}

E ao fim, vamos rodar novamente o comando update:

composer update

Criaremos agora o arquivo ClassClient.php que trará as configurações específicas da sua conta do Google.

<?php
namespace Classes;

class ClassClient
{
    private $client;
    private $http;

    protected function getClient()
    {
        $this->http=new \GuzzleHttp\Client(["verify"=>false]);
        $this->client=new \Google_Client();
        $this->client->setHttpClient($this->http);
        $this->client->setAuthConfig('../lib/credentials.json');
        $this->client->addScope(\Google_Service_Drive::DRIVE);
        $this->client->setAccessType('offline');
        return $this->client;
    }
}

Vamos criar agora nossa ClassSpreadsheet.php que fará as operações na planilha:

<?php
namespace Classes;

class ClassSpreadsheet extends ClassClient
{
    private $service;

    public function __construct()
    {
        $this->service=new \Google_Service_Sheets($this->getClient());
    }


    #Read
    public function readSheet($spreadsheetId,$sheet,$range)
    {
        $params=[
            "ranges"=>$sheet."!".$range
        ];
        $result=$this->service->spreadsheets_values->batchGet($spreadsheetId,$params);
        return $result->getValueRanges()[0]->values;
    }
}

Por fim, iremos criar o arquivo read.php que fará, na prática, a leitura e exibição dos dados.

<?php
include("../lib/vendor/autoload.php");
$sheet=new Classes\ClassSpreadsheet();
var_dump($sheet->readSheet("1HeIpedpNNe4S5l_JGm4Il5K0Nq0bT2bF0tBaaHM2C9E","Dados","A1:C5"));

Não se esqueça de acima, trocar o id pelo id da sua planilha.

Caso apareça o erro de count(): Parameters, você precisará atualizar uma parte do código da API do Google. Para isso, acesse o diretório:
lib/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php

No arquivo acima, pesquise por count (aproximadamente na linha 67) e altere o código original para:

if (($this->handles?count($this->handles):0) >= $this->maxHandles) {
    curl_close($resource);
}

Sucesso nos códigos e na vida!

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Google Planilhas Avançado - #42 Introdução a API
Iniciamos hoje a parte mais avançada do curso de Google Planilhas com a introdução a API do Google Sheets utilizando como linguagem backend o PHP.
Saiba mais!
Google Planilhas Avançado - #44 Lendo dados da Planilha via API II
Na vídeoaula de hoje aprimoraremos a exibição dos dados vindos do Google Planilhas para o usuário final, exibindo os registros através de uma tabela.
Saiba mais!
Google Planilhas
Neste curso abordaremos a fundo as funcionalidades do Google Planilha. Adentraremos no Google App Script e na API do Google Sheet. Aproveite.
Saiba mais!