【问题标题】:Zend Gdata - missing HeaderValue.phpZend Gdata - 缺少 HeaderValue.php
【发布时间】:2015-08-26 02:19:25
【问题描述】:

所以我正在关注this,我正在尝试运行他的第一个 php 示例。我收到以下错误:

PHP 警告:require_once(Zend/Http/Header/HeaderValue.php):无法打开流:第 45 行的 /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Http/Client.php 中没有这样的文件或目录

我检查了,文件实际上不存在。所以我从最小的 1.12 下载中添加了它。然后它说Zend/Xml/Security.php 不存在所以我添加它。

现在我收到以下错误:

PHP Notice:  Undefined offset: 1 in /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/ClientLogin.php on line 150
PHP Stack trace:
PHP   1. {main}() /opt2/sites/gdataApi/test.php:0
PHP   2. Google_Spreadsheet->__construct() /opt2/sites/gdataApi/test.php:11
PHP   3. Google_Spreadsheet->login()/opt2/sites/gdataApi/Google_Spreadsheet.php:40
PHP   4. Zend_Gdata_ClientLogin::getHttpClient() /opt2/sites/gdataApi/Google_Spreadsheet.php:223
PHP Notice:  Undefined variable: php_errormsg in /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php on line 834
PHP Stack trace:
PHP   1. {main}() /opt2/sites/gdataApi/test.php:0
PHP   2. Google_Spreadsheet->addRow() /opt2/sites/gdataApi/test.php:24
PHP   3. Google_Spreadsheet->getSpreadsheetId() /opt2/sites/gdataApi/Google_Spreadsheet.php:62
PHP   4. Zend_Gdata_Spreadsheets->getSpreadsheetFeed() /opt2/sites/gdataApi/Google_Spreadsheet.php:252
PHP   5. Zend_Gdata->getFeed() /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/Spreadsheets.php:150
PHP   6. Zend_Gdata_App->getFeed() /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata.php:162
PHP   7. Zend_Gdata_App->importUrl() /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php:213
PHP   8. Zend_Gdata_App::importString() /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php:792
PHP Fatal error:  Uncaught exception 'Zend_Gdata_App_Exception' with message 'DOMDocument cannot parse XML: ' in /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php:833
Stack trace:
#0 /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php(792): Zend_Gdata_App::importString('', 'Zend_Gdata_Spre...', NULL, NULL)
#1 /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php(213): Zend_Gdata_App->importUrl('https://spreads...', 'Zend_Gdata_Spre...', NULL)
#2 /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata.php(162): Zend_Gdata_App->getFeed('https://spreads...', 'Zend_Gdata_Spre...')
#3 /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/Spreadsheets.php(150): Zend_Gdata->getFeed('https://spreads...', 'Zend_Gdata_Spre...')
#4 /opt2/sites/gdataApi/Google_Spreadsheet.php(252): Zend_Gdata_Spreadsheets->getSpreadsheetFeed()
#5 /opt2/sites/gdataApi/Google_Spreadsheet.php(62): Google_Spreadsheet->getSpreadsheetId('test spreadshee...')
#6 /opt2/sites/gdataApi/test.php(24): Google_Spreadsheet in /opt2/sites/gdataApi/ZendGdata-1.12.13/library/Zend/Gdata/App.php on line 833

我有一个谷歌电子表格,我想使用 php 以编程方式更新它。你能告诉我这个脚本出了什么问题吗?好像这是一篇旧文章。我错过了更多最近的文章吗?

【问题讨论】:

  • ini_set('track_errors', 1); 添加到脚本的开头可能会为异常提供更多详细信息,并说明 DOMDocument 无法解析数据的原因。您可以尝试将其添加到您的示例中,看看异常是否包含更多信息并回发?
  • 我实际上已经决定不这样做了,因为似乎 google api 现在需要 oauth 2 登录,而这个类不支持。
  • 我很想看到有替代方案的答案

标签: php zend-framework gdata


【解决方案1】:

下载 Zend 框架最小版本。然后解压缩存档并将 /library/Zend/Http/Header 目录复制到您的 GData 的 /Zend/Http/ 目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-02
    • 2011-06-14
    相关资源
    最近更新 更多