2012-04-05 134 views
0

我正嘗試從授權用戶那裏讀取Google的Google文檔並通過我的頁面輸出內容。帶有zend的Google Docs API

一切正常,輸出正常,但幾秒鐘後出現一個彈出窗口,出現錯誤「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,那麼一切正常(我只需更改鏈接),但我想顯示該頁面,就好像我在Google文檔中一樣。

任何幫助? 祝好運 DF

回答

2

您無法將Google文檔頁面的HTML內容輸出到您自己的頁面上下文中並使其工作。如果您想向用戶顯示文檔,請使用HTTP位置標題將它們重定向到Google文檔本身。

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

如果用戶您本來打算顯示的文檔,以沒有權限訪問該文檔,有兩種選擇:

  1. 共享的文檔使用文檔列表API用戶。
  2. 使用API​​將文檔導出爲文本,HTML或PDF,然後將其顯示給用戶。

這些選項在documentation中有詳細說明。

+0

我無法重定向到Google文檔本身,因爲我的頁面的最終用戶因爲它沒有文檔中的權限。我使用我的憑據來閱讀文檔,然後我想將文檔輸出給其他人。 – Felix 2012-04-05 18:28:24

+0

我編輯的答案也解決您的評論。 – 2012-04-05 23:00:11

+0

你好Vic.Thanks你的答案,但我已經閱讀了文檔,我知道這兩個選項。第一個選項對我所需要的並不好,第二個選項適用於某些文檔,但不適用於Spreadsheets。我已經開發了第三個選項(我在第一個問題中解釋的選項)**,它可以工作。我的頁面會輸出Google文檔,但該頁面始終嘗試刷新並不斷收到描述的錯誤。 – Felix 2012-04-05 23:33:27