Google Docs API将资源添加到集合(Zend / gdata)

时间:2012-04-25 17:01:16

标签: php zend-framework gdata google-docs-api google-drive-api

我正在尝试按照那里的API文档执行此操作: https://developers.google.com/google-apps/documents-list/#adding_a_resource_to_a_collection

使用Zend PHP gdata Framework,我的代码是:

$docs->insertDocument($entryFile,  'https://docs.google.com/feeds/default/private/full/folder%3A0B--Zn-zouTFrOXdrV3lRelhuNHM/contents');

Documentation on this method

我不知道如何找到正确的URI ...

entryFile参数是正确的类型,它是导致问题错误的URL

来自服务器的响应:

  

HTTP / 1.1 400错误请求内容类型:text / html; charset = UTF-8日期:   2012年4月25日星期三17:10:51 GMT到期日:2012年4月25日星期三17:10:51 GMT   缓存控制:private,max-age = 0 X-content-type-options:nosniff   X-frame-options:SAMEORIGIN X-xss-protection:1; mode = block服务器:   GSE连接:关闭无效的请求URI

例外:

  

致命错误:未捕获异常'Zend_Gdata_App_HttpException'   消息'预期响应代码200,获得400无效请求URI'   C:\ Program Files   (86)\的EasyPHP-5.3.6.1 \ WWW \工作空间\库\ Zend的\ GDATA \ App.php:709   堆栈跟踪:#0 C:\ Program Files   (86)\的EasyPHP-5.3.6.1 \ WWW \工作空间\库\ Zend的\ Gdata.php(219):   Zend_Gdata_App-> performHttpRequest('POST','https://docs.go ...',   数组,'performHttpRequest('POST','https://docs.go ...',数组,   “后(对象(Zend_Gdata_Docs_DocumentListEntry)   'https://docs.go ...',NULL,NULL,Array)#3 C:\ Program Files   (86)\的EasyPHP-5.3.6.1 \ WWW \工作空间\库\ Zend的\ GDATA \ Docs.php(300):   Zend_Gdata_App-> insertEntry(对象(Zend_Gdata_Docs_DocumentListEntry),   'https://docs.go ...','Zend_Gdata_Docs ..在C:\ Program Files中   (x86)\ EasyPHP-5.3.6.1 \ www \ workspace \ library \ Zend \ Gdata \ App.php在线   709

(如果您需要任何信息,请告诉我,我真的坚持这一点,如果需要,我愿意尽可能多地提供详细信息)

2 个答案:

答案 0 :(得分:0)

您能否记录Zend执行的确切HTTP请求,并将其与文档中列出的请求进行比较:https://developers.google.com/google-apps/documents-list/#adding_a_resource_to_a_collection

我确定这些差异会告诉你做错了什么。

答案 1 :(得分:0)

我使用适用于Google云端硬盘SDK的Php客户端库解决了这个问题