Php 更新/删除谷歌应用程序条目-未找到ETag

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

尝试更新Google Apps上的条目时,
未找到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">