【发布时间】:2013-12-24 12:02:59
【问题描述】:
我们已经在cakephp 中编写了代码来输入Google contacts 到api 中的联系人,
联系人已通过 Google xml 请求添加到 Google 中,但我们如何获得总数
代码成功执行后在 Google 联系人中添加或更新的联系人数
代码如下:
public function addContact($token=null,$atContacts=null){
foreach ( $atContacts as $contact ) {
$xml = <<<'EOF'
<atom:entry xmlns:atom='http://www.w3.org/2005/Atom'
xmlns:gd='http://schemas.google.com/g/2005'>
<atom:category scheme='http://schemas.google.com/g/2005#kind'
term='http://schemas.google.com/contact/2008#contact'/>
<title type="text">TITLE</title>
<gd:name>
<gd:givenName>First</gd:givenName>
<gd:additionalName>ADDITIONALNAME</gd:additionalName>
<gd:familyName>Last</gd:familyName>
<gd:namePrefix>NAMEPREFIX</gd:namePrefix>
<gd:nameSuffix>NAMESUFFIX</gd:nameSuffix>
</gd:name>
<gd:structuredPostalAddress rel='http://schemas.google.com/g/2005#work' primary='true'>
<gd:city>CITY</gd:city>
<gd:street>STREET</gd:street>
<gd:region>REGION</gd:region>
<gd:postcode>POSTCODE</gd:postcode>
<gd:country>COUNTRY</gd:country>
</gd:structuredPostalAddress>
<gd:phoneNumber rel='http://schemas.google.com/g/2005#home' primary='true'>
HOMEPHONENUMBER
</gd:phoneNumber>\
<gd:phoneNumber rel='http://schemas.google.com/g/2005#mobile'>MOBILENO</gd:phoneNumber>
<gd:phoneNumber rel='http://schemas.google.com/g/2005#work'>WORKPHONENO</gd:phoneNumber>
<gd:email label="home" address="EMAILADDRESS" displayName="DISPLAYNAME" />
</atom:entry>
EOF;
$xml = str_replace ( "TITLE", $contact->Title, $xml );
$xml = str_replace ( "EMAILADDRESS", $contact->EMailAddress, $xml );
$xml = str_replace ( "DISPLAYNAME", $contact->FirstName, $xml );
$xml = str_replace ( "HOMEPHONENUMBER", $contact->AlternatePhone,
$xml );
$xml = str_replace ( "MOBILENO", $contact->MobilePhone, $xml );
$xml = str_replace ( "WORKPHONENO", $contact->Phone, $xml );
$xml = str_replace ( "CITY", $contact->City, $xml );
$xml = str_replace ( "STREET", $contact->AddressLine, $xml );
$xml = str_replace ( "POSTCODE", $contact->ZipCode, $xml );
$xml = str_replace ( "REGION", $contact->State, $xml );
$xml = str_replace ( "COUNTRY", $contact->Country, $xml );
$auth_header = array ('Content-Type: application/atom+xml; charset=utf-8;',
'Authorization: GoogleLogin auth=' . trim ( $token ),
'Content-length:' . strlen ( $xml ) );
$url = 'https://www.google.com/m8/feeds/contacts/default/full';
$curl = curl_init ();
curl_setopt ( $curl, CURLOPT_URL, $url );
curl_setopt ( $curl, CURLOPT_POST, 5 );
curl_setopt ( $curl, CURLOPT_POSTFIELDS, $xml );
curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, TRUE );
curl_setopt ( $curl, CURLOPT_SSL_VERIFYPEER, FALSE );
curl_setopt ( $curl, CURLOPT_HTTPHEADER, $auth_header );
$xmlresponse = curl_exec ( $curl );
}
return $xmlresponse;
}
【问题讨论】:
-
取决于到目前为止您是如何编写代码的。我们能看到吗?
-
是的。你可以评估代码
标签: php cakephp google-api google-contacts-api