Precisa fazer upload de arquivos para o Google Docs do meu aplicativo e armazenar referência ao arquivo carregado

StackOverflow https://stackoverflow.com/questions/2453172

Pergunta

Estou trabalhando em um sistema básico baseado em aplicativos do Google. Como eu defini anteriormente, estou construindo um sistema de pedidos simples e, para cada pedido, anexo um arquivo ou documento. Eu gostaria de poder defini -lo de modo que qualquer arquivo que eu faça o upload seja enviado no Google Docs e de alguma forma eu sou capaz de manter uma referência a esse arquivo a partir do meu próprio aplicativo, ou seja, esses arquivos estão preocupados com esse e esse pedido. Meu aplicativo é baseado em aplicativos do Google, esperançosamente, e estou construindo para ser posteriormente para implantação na nuvem. Como faço para começar isso e o que preciso fazer? Já existem widgets de trabalho que posso usar e aplicar ou eu precisaria criar minha própria solução personalizada para isso?

Estou trabalhando no PHP MySQL.

Foi útil?

Solução

O que você descreveu é realmente muito fácil de fazer. Você precisa usar o Documentos do Google listar a API de dados (API DOCSLIST.) Esta API é usada para criar (fazer upload), recuperar, atualizar e excluir documentos no Google Docs.

Especificamente, como você está usando o PHP, você deseja usar a biblioteca do cliente PHP para a API do DOCSLIST. Isto é documentado aqui. Certifique -se de ler o Começando parte desse documento, pois enumera etapas importantes na configuração do Estrutura de Zend, com o qual a biblioteca do cliente PHP do DOCSLIST é incluída.

Supondo que você esteja criando documentos de processamento de texto (em oposição às planilhas ou apresentações), o código necessário para fazer upload de um documento é direto.

// Use ClientLogin to authenticate to Google Docs
$username = 'user@gmail.com';
$password = 'myPassword';
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
$httpClient = Zend_Gdata_ClientLogin::getHttpClient($username, $password,
    $service);
$docs = new Zend_Gdata_Docs($httpClient);

// Actually upload the file, the second parameter here is the document title
$newDocumentEntry = $docs->uploadFile('test.txt', 'order-123456',
    'text/plain', Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI);

Você mencionou que também gostaria de armazenar referências a esses documentos em seu sistema. Para fazer isso, basta dar a cada documento um título exclusivo (algo como "Order-123456".).

Em seguida, para buscar os documentos armazenados, use o seguinte código:

$docsQuery = new Zend_Gdata_Docs_Query();
$docsQuery->setTitle("order-123456");
$docsQuery->setTitleExact(true);
$feed = $docs->getDocumentListFeed($docsQuery);
foreach ($feed->entries as $entry) {
  // ... every $entry is an individual document found in the search ...
}

Observe que este exemplo usa o ClientLogin, que requer um nome de usuário e senha em bruto. Uma maneira melhor, mas menos simples de autenticar é Use Oauth/Authsub. Observe também que a biblioteca do cliente PHP é atualizada apenas para a versão 1.0 da API DOCSLIST no momento, que está descontinuada. Em breve, deve haver uma versão atualizada da biblioteca do cliente para oferecer suporte a versões mais recentes da API. Para mais informações, consulte o Guia do desenvolvedor da API de dados da lista de documentos do Google. Boa sorte!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top