Php 更新/删除谷歌应用程序条目-未找到ETag
尝试更新Google Apps上的条目时,Php 更新/删除谷歌应用程序条目-未找到ETag,php,zend-framework,google-apps,Php,Zend Framework,Google Apps,尝试更新Google Apps上的条目时,未找到ETag。。添加条目工作正常,但不能更新或删除条目 ETag添加到代码最后一行之一的标题中: $this->gdata->updateEntry($doc->saveXML(), $update_entry->getEditLink()->href, null, array('If-Match' => '*')); 例外情况 代码 XML http://www.google.com/m8/feeds/cont
未找到ETag
。。添加条目工作正常,但不能更新或删除条目
ETag添加到代码最后一行之一的标题中:
$this->gdata->updateEntry($doc->saveXML(), $update_entry->getEditLink()->href, null, array('If-Match' => '*'));
例外情况
代码
XML
http://www.google.com/m8/feeds/contacts/admin_user@domain.com/base/alias
名称
标题
22260435
1112223
您需要添加带有电子标签的标题,如果您不想关心它,可以使用:
$this->gdata->setHeaders('If-Match: *');
乍一看,一切似乎都正常,但看看谷歌文档(双关语),谷歌似乎将etag作为属性直接放在条目标签上:
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="BxAaTxRZAyp7ImBq">
编辑:文档当然可以由Googlin'找到,但a可能更容易。如果我在gdata对象上设置Headers,则返回以下错误
无此类方法setHeaders
。。但是我已经在客户端对象上设置了Header,但是仍然得到找不到ETag
是否检查了$ETag\u value
是否真的有值?是的。。正如您在XML输出中看到的:)
<?xml version="1.0"?>
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="CxFbERtcFit7I2Bu">
<id>http://www.google.com/m8/feeds/contacts/admin_user@domain.com/base/alias</id>
<gd:name>
<gd:fullName>name</gd:fullName>
</gd:name>
<gd:organization rel="http://schemas.google.com/g/2005#work">
<gd:orgTitle>title</gd:orgTitle>
</gd:organization>
<gd:email address="mail@domain.com" rel="http://schemas.google.com/g/2005#work"/>
<gd:phoneNumber rel="http://schemas.google.com/g/2005#work">22260435</gd:phoneNumber>
<gd:phoneNumber rel="http://schemas.google.com/g/2005#work_mobile">1112223</gd:phoneNumber>
</atom:entry>
$this->gdata->setHeaders('If-Match: *');
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:gd="http://schemas.google.com/g/2005" gd:etag="BxAaTxRZAyp7ImBq">