我尝试在Zend Gdata演示中使用google docs示例并收到以下错误:
致命错误:未捕获异常'Zend_Gdata_App_HttpException' 消息'预期响应代码200,获得403 403.4 SSL' F:\ PHP_libs \ Zend \ Gdata \ App.php:714堆栈跟踪:#0 F:\ PHP_libs \ Zend的\ Gdata.php(219): Zend_Gdata_App-> performHttpRequest('GET','http://docs.goo ...',Array, NULL,NULL,NULL)#1 F:\ PHP_libs \ Zend \ Gdata \ App.php(880): Zend_Gdata-> performHttpRequest('GET','http://docs.goo ...',数组)#2 F:\ PHP_libs \ Zend的\ GDATA \ App.php(768): Zend_Gdata_App-> get('http://docs.goo ...',NULL)#3 F:\ PHP_libs \ Zend的\ GDATA \ App.php(210): Zend_Gdata_App-> importUrl('http://docs.goo ...','Zend_Gdata_Docs ......', NULL)#4 F:\ PHP_libs \ Zend \ Gdata.php(162): Zend_Gdata_App-> getFeed('http://docs.goo ...','Zend_Gdata_Docs ......')#5 F:\ PHP_libs \ Zend的\ GDATA \ Docs.php(130): Zend_Gdata-> getFeed('http://docs.goo ...','Zend_Gdata_Docs ......')#6 F:\ XAMPP \ htdocs中\ ZendGdata-1.11.12 \演示\ Zend的\ GDATA \ Docs.php(277): Zend_Gdata_Docs-> getDocumentListFeed('http://docs.goo ...')#7 F:\ XAMPP \ htdocs中\ ZendGdata-1.11.12 \演示\ Zend的\ GDATA \ Docs.php(752): 第714行的F:\ PHP_libs \ Zend \ Gdata \ App.php中的retrieveWPD
我第一次使用Zend库,我无法弄清楚授权如何在这里工作。请帮忙
答案 0 :(得分:2)
我不确定这是否已在最新版本的Zend库中修复,但我在Zend安装中更新了此文件: 库/ Zend的/ GDATA / Docs.php
需要更新62行周围的常量,将http更改为https,现在我的安装中显示如下:
const DOCUMENTS_LIST_FEED_URI = 'https://docs.google.com/feeds/documents/private/full';
const DOCUMENTS_FOLDER_FEED_URI = 'https://docs.google.com/feeds/folders/private/full';
const DOCUMENTS_CATEGORY_SCHEMA = 'https://schemas.google.com/g/2005#kind';
const DOCUMENTS_CATEGORY_TERM = 'https://schemas.google.com/docs/2007#folder';
这就是诀窍。
答案 1 :(得分:1)
如果您要连接到GoogleDocs,则必须使用https
而不是http
,这会在您收到的错误消息中说明:Expected response code 200, got 403 403.4 SSL required
。消息的各个部分解释如下:
Expected response code 200
:被调用的方法期望http响应代码为200
got 403
:实际收到的http码403.4 SSL required
:对代码的简短描述查看List of HTTP status codes以获取更多信息。
Zend Framework: Documentation: Using Google Documents List Data API - Zend Framework Manual中的示例不是最新的,应该是这样的:
$feed = $docs->getDocumentListFeed(
'https://docs.google.com/feeds/documents/private/full/-/document');