0

我正在尝试使用授权用户从 Google 读取文档并通过我的页面输出内容。

一切正常,输出正常,但几秒钟后,弹出窗口出现错误“Google Docs 遇到错误。我们现在正在调查问题。请尝试以下临时解决方案之一:重新加载此页面”

我的代码是这样的:

<?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('MYUSER@gmail.com', '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 Docs 中一样显示页面。

有什么帮助吗?最好的问候 DF

4

1 回答 1

2

您无法将 Google Doc 页面的 HTML 内容输出到您自己页面的上下文中并使其正常工作。如果您想向用户显示文档,请使用 HTTP Location 标头将他们重定向到 Google Doc 本身。

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

如果您打算向其显示文档的用户没有访问文档的权限,则有两种选择:

  1. 使用 Documents List API 将文档分享给用户。
  2. 使用 API 将文档导出为文本、HTML 或 PDF,然后将其显示给用户。

这些选项在文档中有详细说明。

于 2012-04-05T17:44:11.770 回答