Привет, ребята, я пытаюсь обновить свои контакты google с помощью среды zend, но я получаю следующую ошибку:
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);
Что происходит?
Я получил решение в 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);
Я думаю, что это поможет вам решить проблему с обновлением.
благодаря