Faça o upload do arquivo para o Google Drive usando PHP
Resumo:
Google Drive é um serviço de armazenamento em nuvem que permite aos usuários armazenar e compartilhar arquivos. Neste artigo, discutiremos como fazer upload de arquivos para o Google Drive usando PHP. Abordaremos as etapas envolvidas na construção de um script PHP para fazer upload de arquivos para o Google Drive e explicar o processo em detalhes. O artigo também fornecerá instruções sobre como criar um projeto do Google e ativar a API Drive, bem como criar uma tabela de banco de dados para armazenar informações de arquivo.
Pontos chave:
1. Instalando a biblioteca do cliente PHP: Antes de começar, você precisará instalar a biblioteca do cliente PHP para o Google Drive. Instruções para instalação podem ser encontradas no Google API PHP Client Library Readme.
2. O Google Drive suporta PHP?: Sim, o Google Drive suporta PHP. Ele fornece um serviço de API REST que permite fazer upload e gerenciar programaticamente arquivos no Google Drive usando PHP.
3. Carregando arquivos para o Google Drive: Para fazer upload de arquivos para o Google Drive usando PHP, você precisará criar um formulário HTML para selecionar o arquivo para fazer upload. O arquivo será enviado para o servidor local e suas informações serão inseridas no banco de dados. O usuário precisará então autenticar com sua conta do Google, e o arquivo será carregado no Google Drive do script PHP. O status de upload do arquivo será exibido, juntamente com um link para visualizar o arquivo no Google Drive.
4. Criando um projeto do Google e ativando a API Drive: Para fazer chamadas de API para o Google Drive, você precisará de chaves da API. Você pode obter essas chaves criando um projeto do Google e ativando a API Drive. Instruções sobre como criar um projeto do Google e ativar a API de unidade são fornecidas no artigo.
5. Criando uma tabela de banco de dados: Para armazenar informações de arquivo no servidor local, você precisará criar uma tabela de banco de dados. O artigo inclui instruções sobre como criar a tabela necessária.
Questões:
1. Como faço para instalar a biblioteca do cliente PHP para o Google Drive?
Para instalar a biblioteca do cliente PHP para o Google Drive, você pode seguir as instruções fornecidas no Google API PHP Client Library ReadMe. Verifique a versão mais recente da biblioteca no repositório de pacotes PHP.
2. Posso usar o PHP para fazer upload de arquivos para o Google Drive?
Sim, o Google Drive suporta PHP. Você pode usar o PHP para fazer upload de arquivos programaticamente para o Google Drive, utilizando a API de unidade.
3. Quais são as etapas envolvidas no upload de arquivos para o Google Drive usando PHP?
As etapas envolvidas no upload de arquivos para o Google Drive usando o PHP são as seguintes:
- Crie um formulário HTML para selecionar o arquivo para fazer upload.
- Carregue o arquivo no servidor local e insira suas informações no banco de dados.
- Autentique o usuário com a conta do Google.
- Carregue o arquivo para o Google Drive do script PHP.
- Exiba o status de upload do arquivo e forneça um link para visualizar o arquivo no Google Drive.
4. Como faço para criar um projeto do Google e ativar a API de unidade?
Para criar um projeto do Google e ativar a API Drive, você pode seguir estas etapas:
- Vá para o console da API do Google.
- Selecione um projeto existente ou crie um novo.
- Na barra lateral, selecione “Biblioteca” na seção “APIs & Services”.
- Procure a API do Google Drive e ative -a.
- Digite os detalhes do seu aplicativo e especifique os domínios autorizados.
- Selecione o tipo de aplicativo como “aplicativo da web” e forneça o URIs de redirecionamento autorizado.
- Anote o ID do cliente e o segredo do cliente para uso posterior.
5. Preciso criar uma tabela de banco de dados para fazer upload de arquivos para o Google Drive usando PHP?
Sim, você precisará criar uma tabela de banco de dados para armazenar informações de arquivo no servidor local. Esta tabela será usada para inserir as informações do arquivo antes de enviá -las no Google Drive.
6. Como posso visualizar o arquivo enviado para o Google Drive usando PHP?
Depois de enviar o arquivo para o Google Drive usando o PHP, você pode fornecer um link para visualizar o arquivo no Google Drive. O link pode ser gerado usando o identificador exclusivo do arquivo fornecido pela API da unidade.
7. Posso fazer upload de vários arquivos para o google drive usando php?
Sim, você pode fazer upload de vários arquivos para o Google Drive usando PHP. Você pode modificar o script PHP para lidar com vários uploads de arquivo e enviá -los para o Google Drive um por um.
8. Existe algum limite de tamanho de arquivo para fazer upload de arquivos para o Google Drive usando PHP?
O Google Drive tem um limite de tamanho de arquivo de 5 TB para arquivos individuais. No entanto, certas restrições podem ser aplicadas com base no seu plano de armazenamento do Google Drive. Verifique o limite de armazenamento da sua conta do Google Drive.
9. Como posso lidar?
Para lidar com erros de upload de arquivos enquanto carregam arquivos para o Google Drive usando PHP, você pode implementar mecanismos de manuseio de erros em seu script PHP. Você pode verificar erros comuns, como limite de tamanho de arquivo excedido, formato de arquivo inválido ou espaço de armazenamento insuficiente no Google Drive.
10. Posso excluir arquivos do Google Drive usando php?
Sim, você pode excluir arquivos do Google Drive usando PHP. A API Drive fornece métodos para excluir arquivos do Google Drive programaticamente. Você pode usar esses métodos em seu script PHP para excluir arquivos com base em seus requisitos.
Faça o upload do arquivo para o Google Drive usando PHP
Você precisará instalar a biblioteca do cliente PHP, isso pode ser feito usando o compositor. Instruções para isso podem ser encontradas na biblioteca do cliente do Google API PHP Readme. Eu recomendo verificar o número da versão mais recente no repositório de pacotes PHP
O Google Drive suporta PHP
О эээ сйранibus
Ы з ззарегиgléria. С помощью этой страницы мы сможем определить, что запросы отправляете именно вы, а не робот. Почpels эээ моогitu произойth?
Эта страница отображается в тех случаях, когда автоматическими системами Google регистрируются исходящие из вашей сети запросы, которые нарушают Условия использования. Ponto. Ээth момо номттаая и оозз илэз и ээ и эз и эз и з и ззз и зз и ээз и ээз иth ээ эth ээзз эth эзз иthлз ио и зз и иth эз иээ эээо иth эз эээ ээо ээоо иth иэзз эth эзт эth эз ио эээ иth эз иэз иthлзз иоз ил иээ иээо иэээ иээо иth ио иээ эth иэ иээ эth иэ иээ эth ио иэ ээог seguir.
Ит и и и и и и и и и чззжfia м ирржжжfia м иржжжжfia м мжжжжжж<ь м м иржжжfia. não. Если вы используете общий доступ в Интернет, проблема может быть с компьютером с таким же IP-адресом, как у вас. Орратитеitivamente к с о и и с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с с а с с а с а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а а ”. ПодробнÉ.
Проверка по слову может также появляться, если вы вводите сложные запросы, обычно распространяемые автоматизированными системами, или же вводите запросы очень часто.
Faça o upload do arquivo para o Google Drive usando PHP
Google Drive é um mecanismo de armazenamento em nuvem que permite aos usuários armazenar e compartilhar arquivos com eficiência. Os arquivos são sincronizados entre os dispositivos e podem ser acessados de qualquer lugar. Google Drive facilita o gerenciamento de documentos sem qualquer armazenamento pessoal. Você também pode gerenciar arquivos e pastas no Google Drive remotamente usando a API Drive.
O Drive API permite gerenciar arquivos e pastas armazenadas no Google Drive. Você pode fazer upload e gerenciar arquivos do site usando a API do Google Drive. Se o aplicativo da web exigir para permitir que os usuários acessem ou gerenciem arquivos do Google Drive, o Drive API fornece uma maneira simples de fazer upload de arquivos para o Google Drive Programmatataticamente com o Serviço de API REST. Este tutorial explica como Faça o upload do arquivo para o Google Drive usando PHP.
Neste exemplo, o script PHP, o seguinte processo será implementado para Carregue arquivos para o Google Drive com php.
- Crie um formulário HTML para selecionar o arquivo para fazer upload.
- Faça o upload do arquivo no servidor local e insira informações de arquivo no banco de dados.
- Autentique o usuário com a conta do Google.
- Faça o upload do arquivo para o Google Drive do script PHP.
- Exibir status de upload do arquivo com um link para visualizar o arquivo no Google Drive.
Antes de começar a construir um script PHP para Faça o upload do arquivo para o Google Drive Usando PHP, dê uma olhada na estrutura do arquivo.
google_drive_file_upload_with_php/ ├── Config.php ├── dbconfig.Php ├── ÍNDICE.php ├── upload.php ├── google_drive_sync.php ├── Googledriveapi.aula.php └── CSS/ └── estilo.CSS
Crie o Google Project e Atable Drive API
O Google Project é necessário para obter as chaves da API que serão usadas para fazer chamadas de API para o Google Drive. Se você já possui um aplicativo do Google existente, as chaves da API podem ser usadas a partir dele. Apenas certifique -se de que a API do Google Drive esteja ativada neste projeto do Google existente. Se você não for’T quaisquer aplicativos do Google, siga as etapas abaixo para registrar seu aplicativo no Google Developers Console e obtenha as chaves da API.
- Vá para o console da API do Google.
- Selecione um projeto existente na lista de projetos ou clique NOVO PROJETO Para criar um novo projeto:
- Digite o Nome do Projeto.
- O ID do projeto será criado automaticamente no campo Nome do projeto. (Opcional) Você pode alterar este ID do projeto pelo Editar link, mas deve ser único em todo o mundo.
- Clique no CRIAR botão.
- Na barra lateral, selecione Biblioteca debaixo de APIs e serviços seção.
- Pesquise o serviço de API do Google Drive na lista de APIs e selecione API do Google Drive.
- Clique no HABILITAR Botão para disponibilizar a biblioteca da API do Google Drive.
- Insira o nome do aplicativo.
- Escolha um e -mail de suporte.
- Especifique o Domínios autorizados que poderá se autenticar usando oauth.
- Clique no Salvar botão.
- No Tipo de aplicação Seção, selecione Aplicativo da Web.
- No URIs de redirecionamento autorizado campo, especifique o URL de redirecionamento.
- Clique no Criar botão.
Uma caixa de diálogo aparecerá com detalhes do cliente OAuth, observe o ID do cliente e o segredo do cliente para uso posterior no script. Este ID do cliente e segredo do cliente permitem acessar a API do Google Drive.
Observe que: o ID do Cliente e Segredo do cliente precisa ser especificado no momento da chamada da API do Google Drive. Além disso, os URIs de redirecionamento autorizados devem ser comparados com o URL de redirecionamento especificado no script.
Crie tabela de banco de dados
Uma tabela é necessária no banco de dados para armazenar informações de arquivo no servidor local. O seguinte SQL cria uma tabela drive_files com alguns campos básicos no banco de dados MySQL.
CRIAR MESA `drive_files` ( `id` int(11) NÃO NULO INCREMENTO AUTOMÁTICO, `file_name` Varchar(255) Agarrar utf8_unicode_ci PADRÃO NULO, `google_drive_file_id` Varchar(255) Agarrar utf8_unicode_ci PADRÃO NULO, `criado` data hora NÃO NULO PADRÃO current_timestamp(), Primário CHAVE (`id`)) MOTOR=Innodb PADRÃO CHARST= utf8 Agarrar= utf8_unicode_ci;
Biblioteca API PHP do Google Drive
O Google fornece uma biblioteca de clientes PHP para fazer chamadas de API de unidade, mas contém muitos serviços adicionais que vêm com um grande número de arquivos e são grandes de tamanho. Para simplificar o processo, criaremos uma biblioteca personalizada para lidar com as chamadas da API do Google Drive com PHP.
Nosso Biblioteca API do Google Ajuda a autenticar com a conta do Google e a acessar a API de unidade com API REST usando PHP CURL. Esta biblioteca PHP personalizada usará API do Google Drive V3 Para lidar com o processo de upload do arquivo.
- GetAccessToken () – busque o token de acesso do Google OAuth 2 API usando o código de autenticação.
- UploadFiletodRive () – Enviar arquivo para o Google Drive para upload usando a API REST.
- UpdateFileMeta () – Atualize os metadados do arquivo enviado no Google Drive.
/**
*
* Esta classe de manipulador de API do Google Drive é uma biblioteca PHP personalizada para lidar com as chamadas da API do Google Drive.
*
* @class googledriveapi
* @Author Codexworld
* @link http: // www.Codexworld.com
* @versão 1.0
*/
aula Googledriveapi <
const Oauth2_token_uri = 'https: // oauth2.googleapis.com/token ';
const Drive_file_upload_uri = 'https: // www.googleapis.com/upload/drive/v3/arquivos ';
const Drive_file_meta_uri = 'https: // www.googleapis.com/drive/v3/arquivos/';
função __construir($ params = Array ()) <
se (contar($ params)> 0) <
$ this->inicializar($ params);
>
>
função inicializar($ params = Array ()) <
se (contar($ params)> 0) <
para cada ($ params como $ key => $ val) <
IF (ISSET ($ this->$ key)) <
$ this->$ key = $ val;
>
>
>
>
função pública GetAccessToken($ client_id, $ redirect_uri, $ client_secret, $ código) <
$ CURLPOST = 'client_id =' . $ client_id . '& redirect_uri =' . $ redirect_uri . '& client_secret =' . $ client_secret . '& code ='. $ código . '& Grant_type = Authorization_code';
$ cap = curl_init();
Curl_SETOPT($ cap, Curlopt_url, auto::Oauth2_token_uri);
Curl_SETOPT($ cap, Curlot_returnTransfer, 1);
Curl_SETOPT($ cap, Curlopt_Post, 1);
Curl_SETOPT($ cap, Curlot_sssl_verifyPeer, FALSO);
Curl_SETOPT($ cap, Curlot_Postfields, $ CURLPOST);
$ dados = json_decode(curl_exec($ cap), verdadeiro);
$ http_code = Curl_getInfo($ cap,Curlinfo_http_code);
se ($ http_code != 200) <
$ error_msg = 'Falhou em receber o token de acesso';
se (curl_errno($ cap)) <
$ error_msg = curl_error($ cap);
>
jogue novo Exceção('Erro'. $ http_code.':'.$ error_msg);
>
retornar $ dados;
>
função pública UploadFiletodrive($ access_token, $ file_content, $ MIME_TYPE) <
$ apiurl = auto::Drive_file_upload_uri . '?uploadType = mídia ';
$ cap = curl_init();
Curl_SETOPT($ cap, Curlopt_url, $ apiurl);
Curl_SETOPT($ cap, Curlot_returnTransfer, 1);
Curl_SETOPT($ cap, Curlopt_Post, 1);
Curl_SETOPT($ cap, Curlot_sssl_verifyPeer, FALSO);
Curl_SETOPT($ cap, Curlopt_httpheader, variedade('Tipo de conteúdo: '.$ MIME_TYPE, 'Autorização: Portador'. $ access_token));
Curl_SETOPT($ cap, Curlot_Postfields, $ file_content);
$ dados = json_decode(curl_exec($ cap), verdadeiro);
$ http_code = Curl_getInfo($ cap,Curlinfo_http_code);
se ($ http_code != 200) <
$ error_msg = 'Falha ao fazer upload de arquivo para o Google Drive';
se (curl_errno($ cap)) <
$ error_msg = curl_error($ cap);
>
jogue novo Exceção('Erro'.$ http_code.':'.$ error_msg);
>
retornar $ dados[['eu ia'];
>
função pública UpdateFileMeta($ access_token, $ file_id, $ file_meatadata) <
$ apiurl = auto::Drive_file_meta_uri . $ file_id;
$ cap = curl_init();
Curl_SETOPT($ cap, Curlopt_url, $ apiurl);
Curl_SETOPT($ cap, Curlot_returnTransfer, 1);
Curl_SETOPT($ cap, Curlopt_Post, 1);
Curl_SETOPT($ cap, Curlot_sssl_verifyPeer, FALSO);
Curl_SETOPT($ cap, Curlopt_httpheader, variedade('Conteúdo-Type: Application/JSON', 'Autorização: Portador'. $ access_token));
Curl_SETOPT($ cap, Curlopt_customRequest, 'CORREÇÃO');
Curl_SETOPT($ cap, Curlot_Postfields, JSON_ENCODE($ file_meatadata));
$ dados = json_decode(curl_exec($ cap), verdadeiro);
$ http_code = Curl_getInfo($ cap,Curlinfo_http_code);
se ($ http_code != 200) <
$ error_msg = 'Falha ao atualizar os metadados do arquivo';
se (curl_errno($ cap)) <
$ error_msg = curl_error($ cap);
>
jogue novo Exceção('Erro'.$ http_code.':'.$ error_msg);
>
retornar $ dados;
>
>
?>
Banco de dados e configuração da API (configuração.php)
Na configuração.Arquivo PHP, configurações de banco de dados e variáveis constantes de configuração da API do Google são definidas.
Constantes de banco de dados:
- DB_HOST – Especifique o host do banco de dados.
- Db_username – especifique o nome de usuário do banco de dados.
- Db_password – especifique a senha do banco de dados.
- Db_name – especifique o nome do banco de dados.
Constantes da API do Google:
- Google_client_id – especifique o ID do cliente do Google Project.
- Google_Client_Secret – Especifique o segredo do cliente do Google Project.
- Google_oauth_scope – especifique o escopo OAuth para o Google Authentication (definido como https: // www.googleapis.com/auth/drive).
- Redirect_uri – Especifique o URL de retorno de chamada.
Google Oauth URL:
- $ googleoauthurl – o URL que permite ao usuário autenticar com a conta do Google.
// Configuração do banco de dados
definir('Db_host', 'Mysql_database_host');
definir('Db_username', 'Mysql_database_username');
definir('Db_password', 'Mysql_database_password');
definir('Db_name', 'Mysql_database_name');
// Configuração da API do Google
definir('Google_client_id', 'Google_project_client_id');
definir('Google_client_secret', 'Google_project_client_secret');
definir('Google_oauth_scope', 'https: // www.googleapis.com/auth/drive ');
definir('Redirect_uri', 'https: // www.exemplo.com/google_drive_sync.php ');
// sessão de início
se(!identificação de sessão()) session_start();
// Google OAuth URL
$ googleoauthurl = 'https: //.Google.com/o/oauth2/auth?escopo = ' . urlencode(Google_oauth_scope) . '& redirect_uri =' . Redirect_uri . '& Response_type = Code & client_id =' . Google_client_id . '& access_type = online';
?>
Observe que: o ID do cliente e o segredo do cliente podem ser encontrados na página do Google API Manager do projeto de console da API.
Conexão do banco de dados (dbconfig.php)
O dbconfig.O arquivo php é usado para conectar e selecionar o banco de dados MySQL usando PHP.
// Inclua arquivo de configuração
requer uma vez 'Config.php ';
// Crie conexão de banco de dados
$ db = novo mysqli(Db_host, Db_username, Db_password, Db_name);
// Verifique a conexão
se ($ dB->Connect_error) <
morrer("A conexão falhou:" . $ db->Connect_error);
>
Formulário de upload de arquivo (índice.php)
Crie um formulário HTML para selecionar o arquivo para fazer upload de qualquer tipo de arquivos (.jpg, .JPEG, .png, .pdf, .xlsx, .CSV, etc).
- O atributo ENCTYPE deve ser definido no < form >tag para permitir o upload do arquivo.
- No envio, os dados do arquivo são publicados no script do lado do servidor (upload.php) para processamento adicional.
// Inclua arquivo de configuração
incluir_once 'Config.php ';
$ status = $ statusmsg = '';
se(!vazio($ _Session[['Status_Response'])) <
$ status_ropSe = $ _Session[['Status_Response'];
$ status = $ status_ropSe[['status'];
$ statusmsg = $ status_ropSe[['status_msg'];
Unset ($ _Session[['Status_Response']);
>
?> se(!vazio($ statusmsg)) ?> div aula="Alerta de alerta- eco $ status; ?>"> eco $ statusmsg; ?> div> > ?> div aula="COL-MD-12"> forma método="publicar" Ação="carregar.php " aula="forma" Enctype="Multipart/Form-Data"> div aula="Grupo de forma"> rótulo>Etiqueta de arquivo> entrada tipo="arquivo" nome="arquivo" aula="Controle de forma"> div> div aula="Grupo de forma"> entrada tipo="enviar" aula="Formulário Btn-Primary" nome="enviar" valor="Carregar"/> div> forma> div>
Arquivo de armazenamento no banco de dados (carregue.php)
O upload.O arquivo php lida com o upload do arquivo no processo de inserção de dados PHP e no banco de dados MySQL.
- Obtenha informações de arquivo do campo de entrada usando Php $ _files variável.
- Valide a entrada para verificar se os campos obrigatórios estão vazios.
- Faça o upload do arquivo para o servidor local e insira dados de arquivo no banco de dados usando PHP e MySQL.
- Redirecionar o usuário para o URL do OAuth para autenticação com a conta do Google.
// inclui arquivo de configuração do banco de dados
requer uma vez 'dbconfig.php ';
$ statusmsg = $ valerr = '';
$ status = 'perigo';
// se o formulário for enviado
IF (ISSET ($ _Post[['enviar'])) <
// validar campos de entrada de formulário
se (vazio ($ _Files[["arquivo"] ["nome"])) <
$ valerr .= 'Selecione um arquivo para fazer upload.
';
>
// Verifique se as entradas do usuário estão vazias
se (vazio ($ valerr)) <
$ TargetDir = "Uploads/";
$ nome do arquivo = nome de base($ _Files[["arquivo"] ["nome"]);
$ TargetFilePath = $ TargetDir . $ nome do arquivo;
// Carregar o arquivo para o servidor local
se(MOVE_UPLOADED_FILE($ _Files[["arquivo"] ["tmp_name"], $ TargetFilePath)) <
// Insira dados no banco de dados
$ sqlq = "Inserir em drive_files (file_name, criado) valores (?,AGORA())";
$ stmt = $ dB->preparar($ sqlq);
$ stmt->bind_param("S", $ db_file_name);
$ db_file_name = $ nome do arquivo;
$ insert = $ stmt->executar();
se($ insert) <
$ file_id = $ stmt->insert_id;
// armazenar ID de referência do DB do arquivo em sessão
$ _Session[['last_file_id'] = $ file_id;
cabeçalho("Localização: $ googleoauthurl");
saída();
> mais <
$ statusmsg = 'Algo deu errado, por favor, tente novamente depois de algum tempo.';
>
> mais <
$ statusmsg = 'O upload do arquivo falhou, tente novamente depois de algum tempo.';
>
> mais <
$ statusmsg = 'Por favor, preencha todos os campos obrigatórios:
'
.aparar($ valerr, '
');
>
> mais <
$ statusmsg = 'O envio do formulário falhou!';
>
$ _Session[['Status_Response'] = Array ('status' => $ status, 'status_msg' => $ statusmsg);
cabeçalho("Localização: índice.php ");
saída();
?>
Faça o upload do arquivo para o Google Drive (Google_Drive_Sync.php)
Este script é definido como Redirect URI na configuração da API do Google. Isso significa que, após a autenticação com a conta do Google, o usuário será redirecionado para este script que lida com o processo de upload de arquivos do Google Drive com a API REST usando PHP.
- Obtenha o código OAuth da sequência de consulta do URL usando Php $ _get variável.
- Inclua e inicialize a classe de manipulador de API do Google Drive.
- Obtenha o ID de referência do arquivo do banco de dados local da sessão.
- Busque as informações do arquivo do banco de dados com base no ID de referência.
- Recuperar o arquivo do servidor e definir o arquivo inteiro em uma string usando file_get_contents () função em php.
- Obtenha o tipo MIME do arquivo usando MIME_CONTENT_TYPE () função em php.
- Obtenha token de acesso por código de autenticação usando a função getAccessToken () da classe Googledriveapi.
- Enviar e fazer upload de arquivo para o Google Drive usando o uploadFiletodrive () Função da classe Googledriveapi.
- Atualize os meta -dados do arquivo no Google Drive usando a função UpdateFileMeta () da classe Googledriveapi.
- Atualize o ID de referência de arquivo do Google Drive no banco de dados.
- Exibir status de upload do arquivo com o link de acesso ao arquivo do Google Drive.
// Inclua a classe de manipulador de api do Google Drive
incluir_once 'Googledriveapi.aula.php ';
// inclui arquivo de configuração do banco de dados
requer uma vez 'dbconfig.php ';
$ statusmsg = '';
$ status = 'perigo';
IF (ISSET ($ _Get[['código'])) <
// Inicialize a classe API do Google Drive
$ Googledriveapi = novo Googledriveapi();
// Obtenha o ID de referência do arquivo da sessão
$ file_id = $ _Session[['last_file_id'];
se(!vazio($ file_id)) <
// busca detalhes do arquivo do banco de dados
$ sqlq = "Selecione * de drive_files where style =" cor: #007700 ">;
$ stmt = $ dB->preparar($ sqlq);
$ stmt->bind_param("eu", $ db_file_id);
$ db_file_id = $ file_id;
$ stmt->executar();
$ resultado = $ stmt->get_result();
$ filedata = $ resultado->fetch_assoc();
se(!vazio($ filedata)) <
$ file_name = $ filedata[['nome do arquivo'];
$ TARGEN_FILE = 'Uploads/'.$ file_name;
$ file_content = File_Get_Contents($ TARGEN_FILE);
$ MIME_TYPE = MIME_CONTENT_TYPE($ TARGEN_FILE);
// Obtenha o token de acesso
se(!vazio($ _Session[['google_access_token'])) <
$ access_token = $ _Session[['google_access_token'];
> mais <
$ dados = $ Googledriveapi->GetAccessToken(Google_client_id, Redirect_uri, Google_client_secret, $ _Get[['código']);
$ access_token = $ dados[['Access_token'];
$ _Session[['google_access_token'] = $ access_token;
>
se(!vazio($ access_token)) <
tentar <
// Faça o upload do arquivo para o Google Drive
$ drive_file_id = $ Googledriveapi->UploadFiletodrive($ access_token, $ file_content, $ MIME_TYPE);
se($ drive_file_id) <
$ file_meta = Array (
'nome' => nome de base($ file_name)
);
// Atualizar metadados do arquivo no Google Drive
$ drive_file_meta = $ Googledriveapi->UpdateFileMeta($ access_token, $ drive_file_id, $ file_meta);
se($ drive_file_meta) <
// Atualize a referência do arquivo do Google Drive no banco de dados
$ sqlq = "Update drive_files Set google_drive_file_id =? Onde style = "cor: #007700">;
$ stmt = $ dB->preparar($ sqlq);
$ stmt->bind_param("si", $ db_drive_file_id, $ db_file_id);
$ db_drive_file_id = $ drive_file_id;
$ db_file_id = $ file_id;
$ atualização = $ stmt->executar();
Unset ($ _Session[['last_file_id']);
Unset ($ _Session[['google_access_token']);
$ status = 'sucesso';
$ statusmsg = 'O arquivo foi enviado para o Google Drive com sucesso!
'
;
$ statusmsg .= '.
$ drive_file_meta[['eu ia'].'"Target =" _ Blank ">'.$ drive_file_meta[['nome'].'';
>
>
> captura (Exceção $ e) <
$ statusmsg = $ e->getMessage();
>
> mais <
$ statusmsg = 'Falha ao buscar o token de acesso!';
>
> mais <
$ statusmsg = 'Dados do arquivo não encontrados!';
>
> mais <
$ statusmsg = 'Referência de arquivo não encontrada!';
>
$ _Session[['Status_Response'] = Array ('status' => $ status, 'status_msg' => $ statusmsg);
cabeçalho("Localização: índice.php ");
saída();
>
?>
Lista de verificação para teste:
Verificação do aplicativo do Google:
O Google requer a verificação do aplicativo para usar a API Drive. Você precisa enviar o pedido de verificação para tornar o Google Project público.
No modo de desenvolvimento, você pode testá -lo adicionando usuários de teste na tela de consentimento OAuth do aplicativo do Google.
Na página de credenciais do cliente OAuth, clique no Tela de consentimento OAuth link.
Conclusão
Carregar arquivos para o Google Drive com API REST é muito útil quando você deseja fazer upload de imagens ou documentar arquivos para o Google Drive dinamicamente do site. O PHP CURL As funções ajudam a ligar para a API REST para acessar a API do Google Drive a partir do script. Não apenas o upload do arquivo, mas também você pode criar pastas, visualizar/atualizar/excluir arquivos usando a API do Google Drive e PHP. Se você deseja salvar o SCAPE no servidor, os arquivos podem ser carregados no Google Drive e referência podem ser usados para acessar arquivos do Google Drive.
Você deseja obter ajuda de implementação ou modificar ou aprimorar a funcionalidade deste script? Clique aqui para enviar a solicitação de serviço
Se você tiver alguma dúvida sobre este script, envie -o à nossa comunidade de controle de qualidade – faça perguntas
Simples como integrar a API do Google Drive com PHP. 2
Você quer integrar a API do Google Drive com PHP? Neste tutorial, veremos como simplesmente integrar a API do Google Drive com PHP. Se você deseja integrar seu script PHP à sua conta do Google Drive não’Não tenho que ser difícil. De fato, usando a biblioteca do cliente PHP, pode ser bastante estreito para a frente. Neste post, vamos ver como criar um script simples projetado para executar em um servidor. Não este código não será executado como um aplicativo da web. Este é apenas um script de console.
- 1 Crie credenciais de aplicativos instalados
- 2 compositor
- 3 autorização
- 4 API do Google Drive com PHP
- 5. Conclusão
Crie credenciais de aplicativos instalados
A primeira coisa que você precisará é criar um credicial.arquivo json. Isso pode ser criado no Google Cloud Console, certifique -se de criar credenciais nativas.
Compositor
Você precisará instalar a biblioteca do cliente PHP, isso pode ser feito usando o compositor. Instruções para isso podem ser encontradas na biblioteca do cliente do Google API PHP Readme. Eu recomendo verificar o número da versão mais recente no repositório de pacotes PHP
compositor requer google/apiclient:^2.12.1
Autorização
Este código foi projetado para armazenar a autorização do usuário em um arquivo chamado Token.JSON. Depois de autorizar o aplicativo assim que um token de atualização será armazenado lá. Então, quando o aplicativo executar novamente, ele poderá usar o token de atualização para solicitar um novo token de acesso para acessar sua conta do Google Drive.
Os tokens de atualização de aviso expirarão após sete dias, enquanto seu projeto estiver definido para testar no Google Cloud Console. Vá para a tela OAuth e defina -a para a produção e o token de atualização vai parar de expirar.
https: // desenvolvedores.Google.com/identidade/protocolos/oauth2#expiração
A seção do código que lida com a autorização para nós é a seguinte
$ authurl = $ client-> createauthurl ();
printf ("Abra o seguinte link no seu navegador: \ n%s \ n", $ authurl);
Imprima 'Enter o código de verificação:';
$ authcode = Trim (fgets (Stdin));
// Código de autorização de troca para um token de acesso.
$ accessToken = $ client-> fetchAccessTokenWithAuthCode ($ authcode);
$ client-> setAccessToken ($ AccessToken);
Copie o link de autorização e coloque -o em qualquer navegador da web. Autorizar o aplicativo. Você verá um erro 400 na janela do navegador quando estiver completo, ignore isso. Isto é devido à remoção de OOB. Se você olhar para a barra de URL dentro dessa string retornada, é um código. http: // localhost/?código =4/0AX4XFWGU3P6QQHEOGZ7NITCLTYDT3TF_BV-A1KI4UOEM0CZPHIXRPD8TENLUXTA-SKFLLA& SCOPE = https: // www.googleapis.com/auth/drive.READONly é esse código que você adiciona ao seu aplicativo. Você só pode usar o código uma vez.
O código buscará um token de acesso com este código de autorização.
Usando o seguinte código, armazenamos o token retornado ao token.arquivo json para uso posterior
// salve o token em um arquivo.
se (!file_exists (Dirname ($ tokenpath))) mkdir (Dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
Os tokens de atualização de aviso expirarão após sete dias, enquanto seu projeto estiver definido para testar no Google Cloud Console. Vá para a tela OAuth e defina -a para a produção e o token de atualização vai parar de expirar.
https: // desenvolvedores.Google.com/identidade/protocolos/oauth2#expiração
API do Google Drive com PHP
Agora que seu aplicativo está autorizado, você pode chamar a API do Google Drive. Lembre -se de que cada método possui um ou mais escopos necessários para acessar esse método. Você pode encontrar o escopo necessário dentro da documentação para cada método. Por exemplo, arquivo.Lista mostrará de qual escopo você deve ter solicitado autorização. Neste script, estou apenas pedindo apenas escopo de leitura, o que significa que se você tentar fazer um arquivo.crie isso não funcionará. Se você mudar o escopo neste script, lembre -se de excluir o token.arquivo json para que o script solicite a autorização do usuário novamente.
exigir __Dir__ . ‘/fornecedor/automóvel.php ‘;
if (php_sapi_name () != ‘CLI’) lançar uma nova exceção (‘Este aplicativo deve ser executado na linha de comando.’);
>
use o google \ client;
use o google \ service \ drive;
/** * Retorna um cliente de API autorizado. * @retornar Cliente O objeto cliente autorizado */ função getClient ()
$ client = new client ();
$ client-> setApplicationName (‘Google Drive API PHP QuickStart’);
$ client-> setScopes (‘https: // www.googleapis.com/auth/drive.somente leitura’);
$ client-> setauthconfig (‘c: \ youtube \ dev \ credenciais.json ‘);
$ client-> setAccessType (‘offline’);
$ client-> setRedirecturi (“http: // 127.0.0.1 “);
$ client-> setPrompt (‘Select_Account Consent’);
// Carregar o token autorizado anteriormente de um arquivo, se existir.
// o token do arquivo.JSON armazena os tokens de acesso e atualização do usuário e é
// criado automaticamente quando o fluxo de autorização é concluído para o primeiro
// tempo.
$ tokenpath = ‘token.JSON ‘;
if (file_exists ($ tokenpath)) $ accessToken = json_decode (file_get_contents ($ tokenpath), true);
$ client-> setAccessToken ($ AccessToken);
>
// se não houver token anterior ou está expirado.
if ($ client-> isaccessTokeNexirird ()) // Atualizar o token, se possível, caso contrário, busque um novo.
if ($ client-> getRefreshToken ()) $ client-> fetchAcssTokenWithRefreshToken ($ client-> getRefreshToken ());
> else // solicitar autorização do usuário.
$ authurl = $ client-> createauthurl ();
printf (“Abra o seguinte link no seu navegador: \ n%s \ n”, $ authurl);
Imprima ‘Enter o código de verificação:’;
$ authcode = Trim (fgets (Stdin));
// Código de autorização de troca para um token de acesso.
$ accessToken = $ client-> fetchAccessTokenWithAuthCode ($ authcode);
$ client-> setAccessToken ($ AccessToken);
// Verifique se houve um erro.
if (array_key_exists (‘error’, $ accessToken)) lançar uma nova exceção (junção (‘,’, $ accessToken));
>
>
// salve o token em um arquivo.
se (!file_exists (Dirname ($ tokenpath))) mkdir (Dirname ($ tokenpath), 0700, true);
>
file_put_contents ($ tokenpath, json_encode ($ client-> getAccessToken ()));
>
retornar $ cliente;
>
// Obtenha o cliente da API e construa o objeto de serviço.
$ client = getClient ();
$ service = new drive ($ cliente);
// Imprima os próximos 10 eventos no calendário do usuário.
tentar
$ optparams = array (
‘Pagesize’ => 10,
‘FIELDS’ => ‘FIDOS (ID, nome, Mimetype)’,
‘Q’ => ‘Mimetype = “Application/VND.aplicativos do Google.pasta “e” raiz “nos pais ‘,
‘orderby’ => ‘nome’
);
$ resulta = $ service-> arquivos-> listfiles ($ optparams);
$ arquivos = $ resultados-> getFiles ();
se (vazio ($ arquivos)) imprime “Nenhum arquivo encontrado.\ n “;
> else Imprima “Arquivos: \ n”;
foreach ($ arquivos como $ arquivo) $ id = $ file-> id;
printf (“%s-(%s)-(%s) \ n”, $ file-> getId (), $ file-> getName (), $ file-> getMimetype ());
>
>
>
Catch (Exceção $ e) // TODO (Desenvolvedor) – Lidar com o erro ecoar adequadamente ‘Mensagem:’ .$ e-> getMessage ();
>
Conclusão
Autorização do seu script PHP para conectar -se à API do Google Drive é bastante simples quando você tiver o código. Usar a biblioteca do cliente PHP e permitir que ele lide com toda a autorização para nós, torna nossa vida muito fácil.
Lembre -se de criar credenciais de aplicativos instalados para executar este script. Eu tenho um vídeo que mostra como. Lembre -se de ativar a API do Google Drive sob a biblioteca
Postagens relacionadas:
- Simples como integrar o PHP ao Google Analytics Admin API.
- Google Apis Auth Simple
- Simples como fazer upload de arquivo para o Google Drive com Go Lang.
- Autenticação do Google com Curl
Movendo uma página estática da Web do Google Drive para um ambiente amigável para PHP?
O Google Drive facilita o vivo, pois posso criar arquivos localmente e cuida da sincronização.
O que você recomendaria procurar/procurar?
19.9k 6 6 Crachás de ouro 51 51 Crachás de prata 99 99 Crachás de bronze
Perguntado em 8 de maio de 2014 às 17:20
1.135 10 10 crachás de prata 19 19 crachás de bronze
Uma simples consulta do Google “Google Drive PHP” leva a este documento do Google: suporte.Google.com/drive/Answer/2881970?hl = en que afirma claramente: sem php. Você pode precisar trabalhar em sua definição de “todo”
9 de maio de 2014 às 0:48
Essa só não é minha pergunta. Que um pouco estou claro.. Eu preciso de alternativa
9 de maio de 2014 às 5:48
3 respostas 3
Primeira coisa, o script lateral do servidor não é permitido na unidade. Embora no Google, você possa usar o Google App Engine para fins de scripts. Muitos outros idiomas agora são suportados aqui, como GO, PHP, Python e Java. Você pode aprender o mecanismo de aplicativo.
Segunda coisa, para obter uma melhor experiência de hospedagem, compre algum espaço de servidor. Para fins de aprendizado, você pode se inscrever em muitos serviços de hospedagem gratuitos. Posterior, mude para a versão paga.
25.3K 15 15 Crachás de ouro 91 91 Crachás de prata 178 178 Crachás de bronze
respondeu em 8 de maio de 2014 às 17:31
CPRAKASHAGR CPRAKASHAGR
751 11 11 Crachás de prata 28 28 crachás de bronze
Google Drive não é feito para o que você está tentando fazer.
Você pode querer procurar no Google Cloud ou Google App Engine.
respondeu em 8 de maio de 2014 às 17:24
4.843 9 9 Distintivos de ouro 50 50 Crachás de prata 93 93 Crachás de bronze
Google Cloud é novo para mim.. Os sites host do Google Cloud podem fazer o Google Drive?
8 de maio de 2014 às 17:30
Google Drive não pode hospedar sites. Documentos e outro conteúdo estático, mas nada dinâmico. Você realmente deveria ir com uma empresa de hospedagem. Pesquise por hospedagem de compartilhamento é isso que você precisa.
8 de maio de 2014 às 17:33
não.. O Google Drive também pode hospedar o site inteiro em uma pasta. Mas deve ser estático. Não é dinâmico como você diz e limitado com o tamanho da unidade
8 de maio de 2014 às 17:38
Google Drive simplesmente não permite o PHP. É afirmado [na documentação] (https: // suporte.Google.com/drive/Answer/2881970?hl = en), que é o primeiro link quando você pesquisou no Google “Google drive php”
Para executar o código nos arquivos hospedados no Google, você precisa usar o mecanismo do Google App. Ele executa php, java, python, vá.
Mas pode não ser o que você está procurando. Usar um site clássico Hoster pode ser a melhor abordagem
respondeu em 8 de maio de 2014 às 17:24
19.9k 6 6 Crachás de ouro 51 51 Crachás de prata 99 99 Crachás de bronze
Eu tenho meu site no Google Drive para temporário. Você poderia me agradar a dar alguma referência, como posso integrar com a unidade?
8 de maio de 2014 às 17:28
Pode ser melhor se você me pedis.
8 de maio de 2014 às 17:41
THX por descer uma resposta precisa para um comentário atrevido 🙂 você precisa de uma hospedagem regular de site. Tentar manter o Google Drive levará mais tempo. Além disso, como uma regra geral: pedir “como faço isso” sem ter referências investigadas fornecidas não é considerado amigável à comunidade. Presumindo que você fez, seria benéfico declarar algo como “Eu dei uma olhada no link, link, link, mas ainda não sei/entendi” etc. Apenas perguntar cria a impressão de um freeloader. Leia a etiqueta do site para mais informações
9 de maio de 2014 às 0:44
Votação descendente não sou eu. Antes de me pedir para ver a regra do site, veja minha reputação. DOWNVOTE requer 125 reputação. Eu não posso fazer isso. Eu não vou fazer isso. É outro. Eu acho que você também precisa estudar isso