rapidwebltd / php-google-contacts-v3-api
PHP 库用于 Google Contacts API (v3)
Requires
- php: >=5.2.1
- google/apiclient: >=1.1.4 <2.0.0
README
PHP 库用于 Google Contacts API (v3)
💡 注意:如果您正在启动一个新项目,我们强烈建议您使用我们的 PHP Google People API 包。它比这个包功能更强大,并使用更新的 API,可能支持时间更长。
安装 & 依赖
可以使用 composer
安装此包及其依赖。
只需运行 composer require rapidwebltd/php-google-contacts-v3-api
。
设置
- 安装所需的依赖项。请参阅上面的 '依赖' 部分。
- 复制或重命名
.config_blank.json
到.config.json
。注意文件名开头的点 (.
)。 - 在
.config.json
中填写clientID
、clientSecret
和redirectUri
。
- 请注意,
redirectUri
应配置为指向redirect-handler.php
文件。 clientID
和clientSecret
可在 Google 开发者控制台找到,地址为 https://console.developers.google.com/,在 'APIs & auth' -> 'Credentials' 下,启用 Contacts API 后。
- 在网页浏览器中转到
authorise-application.php
。这应该会提供一个 URL 来授权您的应用程序访问 Google Contacts。 - 转到上一步提供的授权 URL。
- 接受页面上的请求的权限。然后您应该被重定向回
redirect-handler.php
文件。 redirect-handler.php
文件生成的页面应提供刷新令牌。将其复制到您的.config.json
中。- 设置完成!
使用方法
在安装库并完成设置和账户关联步骤后,您可以开始使用库。
如果您的框架没有这样做,请记住在您想要使用此库的任何页面上包含并引入 vendor/autoload.php
文件。
检索 Google Contacts
以下代码将从关联的 Google 账户检索所有联系人。
$contacts = rapidweb\googlecontacts\factories\ContactFactory::getAll(); var_dump($contacts);
ContactFactory::getAll()
方法将返回一个 Contact
对象数组。联系人的详细信息将作为这些对象的公共成员变量可用。
每个 Contact
对象中包含的 selfURL
是此特定联系人的唯一引用。如果您将来需要检索特定的联系人,您需要存储此 selfURL
。
要检索特定联系人(通过其 selfURL),请使用以下代码。
$selfURL = "..."; $contact = rapidweb\googlecontacts\factories\ContactFactory::getBySelfURL($selfURL); var_dump($contact);
此 ContactFactory::getBySelfURL
方法将返回一个单个的 Contact
对象。
Google 联系人属性按以下方式访问。
$selfURL = "..."; $contact = rapidweb\googlecontacts\factories\ContactFactory::getBySelfURL($selfURL); echo $contact->name; echo $contact->phoneNumber; echo $contact->email; echo $contact->content;
更新现有的 Google Contacts
使用此库更新 Google Contacts 采用非常面向对象的方式。
您必须首先使用前面提到的方法之一检索一个 Contact
对象。然后您可以修改联系人对象的公共成员变量。要将这些更改保存回 Google Contacts 服务,您然后将修改后的对象传递给 ContactFactory::submitUpdates($contact)
方法。
以下代码演示了完整的过程:获取联系人,修改它并提交更新。
$selfURL = "..."; $contact = rapidweb\googlecontacts\factories\ContactFactory::getBySelfURL($selfURL); var_dump($contact); $contact->name = 'Test'; $contact->phoneNumber = '07812363789'; $contact->email = 'test@example.com'; $contact->content = 'Note for example'; $contactAfterUpdate = rapidweb\googlecontacts\factories\ContactFactory::submitUpdates($contact); var_dump($contactAfterUpdate);
创建新的Google联系人
创建新的Google联系人非常简单。只需调用ContactFactory::create($name, $phoneNumber, $emailAddress)
方法,传入适当的参数。此方法将返回创建的联系人作为Contact
对象,包括其新分配的selfURL
。
$name = "Frodo Baggins"; $phoneNumber = "06439111222"; $emailAddress = "frodo@example.com"; $note = "Note for example"; $newContact = rapidweb\googlecontacts\factories\ContactFactory::create($name, $phoneNumber, $emailAddress, $note);
配置文件覆盖
每个方法都有一个可选参数用于配置文件覆盖。当你想同时使用多个Google账户时非常有用。
$customConfig = (object) array( 'clientID' => '<clientId which you get according to setup above>', 'clientSecret' => '<clientSecret which you get according to setup above>', 'redirectUri' => '<your redirect uri>', 'developerKey' => '<developer key>', 'refreshToken' => '<refresh token specific for google account>' ); $contacts = ContactFactory::getAll($customConfig);
你必须定义所有变量,因为原始配置将被完全忽略。更准确地说,它甚至可以不存在。
示例
查看以下文件,了解如何检索联系人的基本示例。它们也可以用来确保你已将Google账户与库相关联。
- test.php
- test_individual.php