使用Zend上传到Google文档时出错403 403.4

时间:2012-07-10 07:29:51

标签: api zend-framework doc

我尝试在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库,我无法弄清楚授权如何在这里工作。请帮忙

2 个答案:

答案 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');