2012-04-05 15 views
0

私は許可されたユーザーとGoogleからDocを読んで、私のページを通して内容を出力しようとしています。Google Docs API with zend

すべてが正常に動作し、出力はOKですが、数秒後にエラーが表示されます。「Googleドキュメントでエラーが発生しました。 :「このページを再読み込み

私のコードはこれです:私が間違ってやっている

<?php 
    require_once 'Zend/Loader.php'; 
    Zend_Loader::loadClass('Zend_Gdata_Docs'); 
    Zend_Loader::loadClass('Zend_Gdata_ClientLogin'); 
    Zend_Loader::loadClass('Zend_Gdata_Calendar'); 
    Zend_Loader::loadClass('Zend_Gdata_Docs_Query'); 

    $service = Zend_Gdata_Docs::AUTH_SERVICE_NAME; 
    $client_grabmark = Zend_Gdata_ClientLogin::getHttpClient('[email protected]', 'MYPASS', $service); 
    $service = new Zend_Gdata_Docs($client_grabmark); 
    $service->setMajorProtocolVersion(3); 


    $contentLink = 'https://docs.google.com/document/d/'DOCID'/edit'; 

    $data = $service->get($contentLink)->getBody(); 

    ob_start(); 
    echo $data; 
    ob_flush(); 
    exit 
?> 

何?私がPDFにエクスポートしようとすると、すべてがOKです(私はリンクを変更する必要があります)が、私はGoogle Docsにあったかのようにページを表示したいと思います。

助けが必要ですか? よろしくお願いします。 DF

答えて

2

GoogleドキュメントページのHTMLコンテンツを自分のページのコンテキストに出力して機能させることはできません。ユーザーにドキュメントを表示する場合は、HTTPロケーションヘッダーを使用してドキュメントをGoogleドキュメント自体にリダイレクトします。

<?php 
header("Location: $contentLink"); 
?> 

あなたがドキュメントにアクセスする権限を持っていないためにドキュメントを表示することを意図していたユーザーには、二つの選択肢がある場合:

  1. は、ドキュメントリストAPIを使用して、ユーザーにドキュメントを共有します。
  2. APIを使用して文書をテキスト、HTML、またはPDFとしてエクスポートし、ユーザーに表示します。

これらのオプションについては、documentationで詳しく説明しています。

+0

Googleドキュメント自体にリダイレクトできません。なぜなら、ページにページ内のアクセス権がないため、そのページのエンドユーザーになるからです。私は自分の資格情報を使ってドキュメントを読んで、そのドキュメントを他の人に出力したいのです。 – Felix

+0

私はあなたのコメントにも答えるために答えを編集しました。 –

+0

こんにちは、あなたの答えはありがたいですが、私はすでにドキュメントを読んでおり、私はこれらの2つのオプションを知っています。最初のオプションは、私が望むものにはうまくいかず、2番目のオプションはドキュメントではうまくいくが、スプレッドシートではうまくいかない。私は3つ目のオプション(私の最初の質問で説明したもの)を開発しました**。私のページは本当にGoogle Docsを出力しますが、ページは常に最新のものにしようとしていて、説明されているエラーが発生し続けています。 – Felix