4

私は基本的なグーグルアプリケーションベースのシステムに取り組んでいます。以前に定義したように、私は単純な注文システムを構築しており、注文ごとにファイルまたはドキュメントを添付します。アップロードしたファイルがすべてGoogleドキュメントにアップロードされるように設定できるようにしたいと思います。どういうわけか、自分のアプリケーションからそのファイルへの参照を維持できます。つまり、これらのファイルはそのような順序に関係しています。私のアプリケーションはうまくいけばグーグルアプリケーションベースであり、後でクラウドに展開するためにそのように構築しています。これをどのように開始し、何をする必要がありますか?使用して適用できるウィジェットはすでに機能していますか、それともこのために独自のカスタマイズされたソリューションを作成する必要がありますか?

私はPhpMySQLで働いています。

4

1 に答える 1

8

あなたが説明したことは、実際には非常に簡単です。GoogleドキュメントリストデータAPI(DocsList API)を使用する必要があります。このAPIは、Googleドキュメントでドキュメントを作成(アップロード)、取得、更新、および削除するために使用されます。

具体的には、PHPを使用しているため、DocsListAPIにはPHPクライアントライブラリを使用する必要があります。これはここに文書化されています。DocsListPHPクライアントライブラリがバンドルされているZendFrameworkのセットアップに関する重要な手順が列挙されているため、このドキュメントの「はじめに」の部分を必ずお読みください。

(スプレッドシートやプレゼンテーションではなく)ワードプロセッシングドキュメントを作成していると仮定すると、ドキュメントをアップロードするために必要なコードは単純です。

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

これらのドキュメントへの参照もシステムに保存したいとおっしゃいました。これを行うには、各ドキュメントに一意のタイトル(「order-123456」など)を付けるだけです。

次に、保存されているドキュメントをフェッチするには、次のコードを使用します。

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

この例ではClientLoginを使用していることに注意してください。これには、生のユーザー名とパスワードが必要です。認証するためのより良い、しかしそれほど単純ではない方法は、OAuth/AuthSubを使用することです。また、PHPクライアントライブラリは、現時点ではDocsList APIのバージョン1.0でのみ更新されており、非推奨になっていることにも注意してください。APIの新しいバージョンをサポートするために、クライアントライブラリの更新されたリリースがまもなくリリースされるはずです。詳細については、GoogleドキュメントリストデータAPIデベロッパーガイドをご覧ください。幸運を!

于 2010-04-05T01:49:30.323 に答える