Necesidad de subir archivos a Google Docs desde mi aplicación y referencia tienda para el archivo cargado

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

Pregunta

Estoy trabajando en un sistema de aplicaciones de Google básicas base. Como he definido anteriormente Estoy construyendo un sistema de pedidos sencilla y para cada pedido realizado puedo adjuntar un archivo o documento. Me gustaría ser capaz de configurarlo de tal manera que cualquier archivo que subo es subido a Google Docs y de alguna manera soy capaz de mantener una referencia a ese archivo desde mi propia aplicación es decir estos archivos tienen que ver con tal o cual orden. Mi aplicación es una aplicación de Google basado espero y estoy construyendo que sea tal para más adelante en el despliegue en la nube. ¿Cómo se inicia en esto y ¿qué tengo que hacer? ¿Hay widgets ya trabajando puedo utilizar y aplicar o qué necesito para crear mi propia solución personalizada para esto?

Estoy trabajando en PHP MySQL.

¿Fue útil?

Solución

Lo que has descrito es en realidad bastante fácil de hacer. Es necesario utilizar el Google Documentos Lista API de datos (DocsList API). esta API se utiliza para crear (carga), recuperar, actualizar y eliminar documentos en Google Docs.

En concreto, ya que usted está usando PHP, tendrá que utilizar la biblioteca cliente PHP para la API de DocsList. Esta es href="http://code.google.com/apis/documents/docs/1.0/developers_guide_php.html" documentado aquí . Asegúrese de leer la Introducción parte de ese documento , ya que enumera pasos importantes en la creación de la Zend Framework, con el cual viene incluido la biblioteca cliente PHP DocsList.

Si se asume que está creando documentos de procesamiento de texto (en contraposición a las hojas de cálculo o presentaciones,) el código que necesita para cargar un documento es sencillo.

// 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);

Usted ha mencionado que también le gustaría para almacenar referencias a estos documentos en su sistema. Para ello, basta con dar a cada documento un título único (algo así como "orden-123456".)

A continuación, para buscar a los documentos almacenados, utilice el siguiente 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 ...
}

Tenga en cuenta que este ejemplo utiliza ClientLogin, que requiere un nombre de usuario y contraseña en bruto. Una mejor manera, pero menos sencilla para autenticar es usar OAuth / AuthSub . También tenga en cuenta que la biblioteca cliente PHP sólo se actualiza para la versión 1.0 de la API de DocsList por el momento, lo que está en desuso. Debe haber una versión actualizada de la biblioteca de cliente pronto para apoyar las nuevas versiones de la API. Para obtener más información, consulte la Guía de Google lista de documentos API de datos del desarrollador . Buena suerte!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top