php Google通讯录同步
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php Google通讯录同步相关的知识,希望对你有一定的参考价值。
<?php
/** @var string Google API Host */
protected $api_host = 'https://people.googleapis.com';
/**
* Create Person Object from Contact Data
*
* @param array $contact Contact Data
* @return array $person Google Person Object
*/
public function build_person( $contact ) {
$person = array(
'names' => array(
array(
'givenName' => $contact['names']['first_name'],
// 'displayName' => $contact['names']['display_name'],
// 'familyName' => $contact['names']['last_name'],
),
),
'phoneNumbers' => array(
array(
'value' => $contact['phone'],
'type' => 'mobile',
),
),
'addresses' => array(
array(
'type' => $contact['address']['type'],
'country' => $contact['address']['country'],
'countryCode' => $contact['address']['country_code'],
'region' => $contact['address']['region'],
'city' => $contact['address']['city'],
'extendedAddress' => $contact['address']['districts'],
'streetAddress' => $contact['address']['street'],
),
),
);
return $person;
}
/**
* Save Contact Data to Google Contacts
*
* @param array $contact Contact Data
*/
public function save_contact( $contact ) {
$oauth_token = $this->get_access_token();
// Google Person Object
$person = $this->build_person( $contact );
// Do request
// $response = wp_remote_post( $this->get_google_api_url( '/v1/people:createContact' ), array(
// 'timeout' => 15,
// 'headers' => array(
// 'Authorization' => 'Bearer ' . $oauth_token,
// 'content-type' => 'application/json',
// ),
// 'body' => json_encode( $person ),
// ) );
$response = wp_remote_post( $this->get_request_api_url( '/v1/people:createContact' ), array(
'timeout' => 20,
'body' => array(
'token' => $oauth_token,
'person' => $person,
),
) );
if ( is_wp_error( $response ) ) {
$error_message = $response->get_error_message();
write_log( $error_message );
} else {
write_log( $response['body'] );
}
}
以上是关于php Google通讯录同步的主要内容,如果未能解决你的问题,请参考以下文章
如何在没有一年的情况下检索从 Google 通讯录同步的联系人事件?
谷歌通讯录同步服务安装失败 原因和解决方法
网络中同步是啥意思
唯一联系人 ID
如何获取显示#ERROR的单元格的后端值!使用 Google Apps 脚本?
将数据库与 Android 设备和 Google Drive 同步