«Требуется ли If-Match или If-None-Match заголовок или атрибут etag записи» Ошибка при попытке обновить контакт в контактах Google с помощью Zend Framework - PullRequest
1 голос
/ 07 июня 2010

Привет, ребята. Я пытаюсь обновить свои контакты Google, используя Zend Framework, но получаю следующую ошибку:

Expected response code 200, got 403 If-Match or If-None-Match header or entry etag attribute required

Вот мой код:

Zend_Loader::loadClass('Zend_Gdata_ClientLogin');
Zend_Loader::loadClass('Zend_Http_Client');
Zend_Loader::loadClass('Zend_Gdata_Query');
Zend_Loader::loadClass('Zend_Gdata_Feed');

$client = getGoogleClient('cp'); // this is a function I made - its working fine
$client->setHeaders('If-Match: *');

$gdata = new Zend_Gdata($client);
$gdata->setMajorProtocolVersion(3);
$query = new Zend_Gdata_Query($id);// id is the google reference 

$entry = $gdata->getEntry($query);
$xml = simplexml_load_string($entry->getXML());

$xml->name->fullName = trim($contact->first_name).' '.trim($contact->last_name);

$entryResult = $gdata->updateEntry($xml->saveXML(), $id);

Что происходит?

1 Ответ

1 голос
/ 16 марта 2011

я получил решение в http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14476692

вот сообщение по этой ссылке:

// в списке 6 ... // где-то перед вызовом updateEntry add: $ extra_header = array ();$ extra_header = '*';

// и затем заменить текущий вызов updateEntry следующим: $ entryResult = $ gdata-> updateEntry ($ xml-> saveXML (), $ entry-> getEditLink ()-> href, null, $ extra_header);

Обновления в Контактах Google теперь работают.

Я понял, что это работает для моего кода.опять же, проблема с кодом в посте.то есть

$extra_header = array(); 

$extra_header = array('If-Match'=>'*'); 

$entryResult  = $contactObj->updateEntry($xml->saveXML(),$entry->getEditLink()->href,null,$extra_header);

Я думаю, что это также поможет вам решить проблему с обновлением.

спасибо

...