Wykorzystanie Zoho Remote API w PHP do edycji dokumentów biurowych
3 October 2009
Comments
Wczoraj opisałem wykorzystanie Zoho Remote API w Pythonie z pomocą biblioteki pycurl. Dzisiaj zaprezentuję przykładowe skrypty PHP wykorzystujące wspomniane API usług zoho.com. Za pomocą Remote API możemy na własnej stronie internetowej wyświetlać i edytować dokumenty biurowe (prezentacje, arkusze, dokumenty tekstowe) za pomocą zdalnych edytorów Zoho. W tym celu należy wysłać dokument i odpowiednie dane na podany adres URL API danego edytora. Warto też zapoznać się z artykułem Przegląd możliwości Zoho API i Zoho CloudSQL.
Wymagania
- By korzystać z Remote API potrzebujemy wygenerować klucz API ("darmowa" rejestracja)
- Potrzebujemy także PHP z obsługą biblioteki CURL. Większość hostingów powinna pozwalać na bezproblemowe korzystanie z tej biblioteki (sprawdź w phpinfo jej obecność)
Remote API dla Zoho Writer
Oto przykładowy skrypt otwierający dokument znajdujący się na naszym serwerze w edytorze Zoho Writer:<?php
$api = 'TWÓJ KLUCZ API ZOHO';
$fields = array();
$fields['content'] = "@/ścieżka/do/plik.odt";
$fields['filename'] = 'plik.odt';
$fields['id'] = '13';
$fields['format'] = 'odt';
$fields['saveurl'] = urlencode('http://localhost/foo.php');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://export.writer.zoho.com/remotedoc.im?apikey='.$api.'&output=editor');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$page = curl_exec($ch);
curl_close($ch);
echo $page;
Remote API dla Sheet i Show
API dla arkuszy i prezentacji jest prostsze. W ich przypadku link do edytora przekazywany jest w nagłówki Location odpowiedzi. Musimy go więc wyłuskać i wykorzystać:<?php
$api = 'TWÓJ KLUCZ API ZOHO';
$fields = array();
$fields['content'] = "@/ścieżka/do/b.ppt";
$fields['filename'] = 'b.ppt';
$fields['id'] = '13';
$fields['format'] = 'ppt';
$fields['saveurl'] = urlencode('http://localhost/foo.php');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://show.zoho.com/remotedoc.im?apikey='.$api.'&output=editor');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, true);
$content = curl_exec ($ch);
curl_close ($ch);
$headers = explode("
", $content);
foreach($headers as $val)
{
if (stripos($val, 'Location: ') !== false)
{
$url = str_replace('Location: ', '', $val);
echo '<iframe src="'.$url.'" style="width:100%;height:400px;"></iframe>';
}
}
RkBlog
Comment article