Vous avez besoin de télécharger des fichiers à Google Docs à partir de mon application et référence au magasin du fichier téléchargé

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

Question

Je travaille sur un système basé sur des applications de base de Google. Comme je l'ai défini précédemment Je construis un système de commande simple et à chaque commande passée, je joindre un fichier ou d'un document. Je voudrais être en mesure de le régler de telle sorte que tout fichier je télécharger est téléchargé dans google docs et je suis en quelque sorte en mesure de maintenir une référence à ce fichier de ma propre application i.e. ces fichiers sont concernés par tel ou tel ordre. Mon application est une application Google basée nous l'espérons et je le construire comme telle pour la suite du déploiement dans le nuage. Comment puis-je commencer à ce sujet et que dois-je faire? Y at-il des widgets qui travaillent déjà je peux utiliser et appliquer ou aurais-je besoin de créer ma propre solution sur mesure pour cela?

Je travaille dans Php MySQL.

Était-ce utile?

La solution

Ce que vous avez décrit est en fait assez facile à faire. Vous devez utiliser le Google API Documents List Data (API DocsList.) cette API est utilisée pour créer (upload), récupérer, mettre à jour et supprimer des documents dans Google Docs.

Plus précisément, puisque vous utilisez PHP, vous voulez utiliser la bibliothèque client PHP pour l'API DocsList. Ceci est documenté ici . Assurez-vous de lire le Mise en route partie de ce document , comme il énumère des étapes importantes sur la mise en place du Zend Framework , avec laquelle la bibliothèque client DocsList PHP est livré.

En supposant que vous créez docs de traitement de texte (par opposition aux feuilles de calcul ou des présentations,) le code dont vous avez besoin de télécharger un document est simple.

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

Vous avez mentionné que vous souhaitez également stocker des références à ces documents dans votre système. Pour ce faire, il suffit de donner chaque document un titre unique (quelque chose comme « ordre 123456 ».)

Ensuite, pour récupérer les documents stockés, utilisez le code suivant:

$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 ...
}

Notez que cet exemple utilise ClientLogin, ce qui nécessite un nom d'utilisateur et mot de passe raw. Une meilleure, mais de manière moins simple à authentifier est utiliser OAuth / AuthSub . Notez également que la bibliothèque client PHP est uniquement mis à jour pour la version 1.0 de l'API DocsList au moment, qui est dépréciée. Il devrait y avoir une version mise à jour de la bibliothèque cliente bientôt pour soutenir les nouvelles versions de l'API. Pour plus d'informations, consultez la Google Documents List Data API Guide du développeur . Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top