Головні новини
Ви тут: Головна / php / Робота з Google Docs засобами PHP (частина 1). Виведення списку документів

Робота з Google Docs засобами PHP (частина 1). Виведення списку документів



Привіт. я вже розповідав як можна працювати з Google Doc. Cьогодні я б хотів почати серію уроків, де я зібрав свої напрацювання по взаємодії з Google Docs. У першій частині ми розглянемо як підключитися до Google Docs через PHP і вивести список документів.

Для початку нам необхідно скачати бібліотеку Zend_Gdata. Якщо посилання застаріло, то дану бібліотеку можна завжди знайти на сторінці скачування Zend Framework. Так само, вам буде потрібно компонент Zend_XML, який ви можете знайти в основний бібліотеці.

Підключення до сервісу Google Documents List

Для початку нам необхідно підключитися до сервісу Google Documents List.

// Імпорт класів Zend Gdata
require_once 'Zend/Loader.php';
Zend_Loader::loadClass('Zend_Gdata');
Zend_Loader::loadClass('Zend_Gdata_AuthSub');
Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Gdata_Docs');
Zend_Loader::loadClass('Zend_Gdata_Docs_Query');

// Підготовка даних
$user = "Ім'я користувача";
$pass = 'Пароль';

// Авторизація в Google Documents List
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME;
$httpClient = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service);
$gdClient = new Zend_Gdata_Docs($httpClient);

Спочатку ми імпортуємо всі необхідні Zend класи, які знадобляться нам надалі(в серії даних статей).

Потім вказуємо ім’я облікового запису Google і пароль. Коли ви запустите даний скрип в перший раз, то вам на пошту може прийти лист про те, що Google відхилив запит. Так само в даному листі буде лист з інструкцією як дозволити стороннім сервісам підключатися до вашого Google аккаунту.

Наступні 3 рядки призначені для авторизації. Далі за допомогою об’єкта $gdClient ми зможемо отримувати дані від Google сервісу.

Вибірка документів усіх видів

Для того щоб вивести всі документи, які міститися в вашому Google Docs виконайте наступний код:

// ... Підключення до сервісу Google Documents List

echo "<h1>Документи всіх форматів</h1>";
$feed = $gdClient->getDocumentListFeed();

echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "<br>";
 echo "ID: " . $entry->id->text . "<br>";
 echo "Опубліковано: " . $entry->published->text . "<br>";
 echo "Оновлено: " . $entry->updated->text . "<br>";

 echo "Автори: ";
 foreach ($entry->author as $author) {
 echo "Ім'я: " . $author->name->text . "<br>";
 echo "Email: " . $author->email->text . "<br>";
 }
 echo "</li>";
}
echo "</ul>";

В даному коді зверніть увагу на виклик $gdClient->getDocumentListFeed(). Даний метод повертає масив з об’єктів, які асоціюються з документами Google.

Вибірка всіх каталогів

Для виключно назв папок, скористайтеся наступним кодом:

echo "<h2>Список папок</h2>";
$feed = $gdClient->getDocumentListFeed('https://docs.google.com/feeds/documents/private/full/-/folder');
echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "</li>";
}
echo "</ul>";

Вибірка всіх документів в каталозі Test

echo "<h2>Всі документи в каталозі Test</h2>";

$folderOwnersEmailAddress = "email@email.com";
$folderName = "Test";
$folderCategory = '{http://schemas.google.com/docs/2007/folders/' . $folderOwnersEmailAddress . '}' . $folderName;
$queryUrl = 'https://docs.google.com/feeds/documents/private/full/-/' . urlencode($folderCategory);
$feed = $gdClient->getDocumentListFeed($queryUrl);

echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "</li>";
}
echo "</ul>";

Далі розглянемо як виводити різні види документів окремо.

Вибірка всіх текстових документів

echo "<h2>Всі текстові документи</h2>";
$feed = $gdClient->getDocumentListFeed('https://docs.google.com/feeds/documents/private/full/-/document');
echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "</li>";
}
echo "</ul>";

Вибірка всіх табличних документів

echo "<h2>Всі табличні документи</h2>";
$feed = $gdClient->getDocumentListFeed('https://docs.google.com/feeds/documents/private/full/-/spreadsheet');
echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "</li>";
}
echo "</ul>";

Вибірка всіх презентацій

echo "<h2>Всі презентації</h2>";
$feed = $gdClient->getDocumentListFeed('https://docs.google.com/feeds/documents/private/full/-/presentation');
echo "<ul>";
foreach ($feed->entries as $entry) {
 echo "<li>";
 echo "<a href=" . $entry->getAlternateLink()->href . ">";
 echo $entry->title;
 echo "</a>";
 echo "</li>";
}
echo "</ul>";

В наступній частині розглянемо як реалізувати пошук за назвою, завантажувати документи в Google Docs і видаляти їх.



Автор Володимир Гривінський



1 коментар

Залишити коментар

Ваша електронна адреса не буде опублікована.

Вгору
UA TOP Bloggers