Google Documents List Data API は、 クライアントアプリケーションから Google Documents にドキュメントをアップロードしたり、 ドキュメントの一覧を Google Data API ("GData") 形式のフィードで取得したりするためのものです。 クライアントアプリケーションからユーザのドキュメントの一覧をリクエストしたり、 ドキュメントの中身を問い合わせたりできます。
Google Documents List API についての詳細は http://code.google.com/apis/documents/overview.html を参照ください。
特定のユーザの Google Documents の一覧を取得するには、docs サービスの
getDocumentListFeed
メソッドを使用します。
このサービスは Zend_Gdata_Docs_DocumentListFeed
オブジェクトを返します。
その中には、認証済みユーザに関連付けられたドキュメントの一覧が含まれます。
$service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; $client = Zend_Gdata_ClientLogin::getHttpClient($user, $pass, $service); $docs = new Zend_Gdata_Docs($client); $feed = $docs->getDocumentListFeed();
結果として得られる Zend_Gdata_Docs_DocumentListFeed
オブジェクトが、サーバからの応答を表します。
このフィードには Zend_Gdata_Docs_DocumentListEntry
オブジェクトの一覧 ($feed->entries) が含まれ、
それぞれがひとつの Google Document を表します。
新しい Google Document を作成するには、 ワープロ文書やスプレッドシート、あるいはプレゼンテーションをアップロードします。 この例はインタラクティブなサンプル Docs.php で、これはライブラリに同梱されています。 これは、ファイルをアップロードした後で、 サーバからその結果の情報を取得して表示するものです。
/** * Upload the specified document * * @param Zend_Gdata_Docs $docs The service object to use for communicating * with the Google Documents server. * @param boolean $html True if output should be formatted for display in a * web browser. * @param string $originalFileName The name of the file to be uploaded. The * MIME type of the file is determined from the extension on this file * name. For example, test.csv is uploaded as a comma separated volume * and converted into a spreadsheet. * @param string $temporaryFileLocation (optional) The file in which the * data for the document is stored. This is used when the file has been * uploaded from the client's machine to the server and is stored in * a temporary file which does not have an extension. If this parameter * is null, the file is read from the originalFileName. */ function uploadDocument($docs, $html, $originalFileName, $temporaryFileLocation) { $fileToUpload = $originalFileName; if ($temporaryFileLocation) { $fileToUpload = $temporaryFileLocation; } // Upload the file and convert it into a Google Document. The original // file name is used as the title of the document and the MIME type // is determined based on the extension on the original file name. $newDocumentEntry = $docs->uploadFile($fileToUpload, $originalFileName, null, Zend_Gdata_Docs::DOCUMENTS_LIST_FEED_URI); echo "New Document Title: "; if ($html) { // Find the URL of the HTML view of this document. $alternateLink = ''; foreach ($newDocumentEntry->link as $link) { if ($link->getRel() === 'alternate') { $alternateLink = $link->getHref(); } } // Make the title link to the document on docs.google.com. echo "<a href=\"$alternateLink\">\n"; } echo $newDocumentEntry->title."\n"; if ($html) {echo "</a>\n";} }
ドキュメントの一覧を検索するには、 標準的な Google Data API クエリパラメータ を使用します。 カテゴリを使用して、ドキュメントの種類 (ワープロ文書、 スプレッドシート) を絞り込みます。 フルテキストのクエリ文字列を使用して、ドキュメントの全文検索を行います。 ドキュメントの一覧に固有のパラメータについての詳細な情報は、 Documents List Data API リファレンスガイド を参照ください。
指定した型のすべてのドキュメントを含むフィードを取得することもできます。 たとえば、ワープロ文書の一覧を取得するには、 次のようなカテゴリクエリを使用します。
$feed = $docs->getDocumentListFeed( 'http://docs.google.com/feeds/documents/private/full/-/document');
Google Spreadsheets の一覧を取得するには、 次のようなカテゴリクエリを使用します。
$feed = $docs->getDocumentListFeed( 'http://docs.google.com/feeds/documents/private/full/-/spreadsheet');