ashus / google-addressbook
允许您以只读模式将Google地址簿与Roundcube同步。
Requires
- php: >=7.0
- ext-json: *
- google/apiclient: ^2.12
- roundcube/plugin-installer: ^0.3
README
此插件允许您以只读模式将Google地址簿与Roundcube同步。
信息:最初stwa为Roundcube 0.8.5创建了这个插件,但它仍然与当前版本的Roundcube(版本1.6.0)正常工作。所以是的,您仍然可以使用这个插件,它是最新的!
要求
- Roundcube >= v0.8.5 [https://roundcube.net/download]
- PHP 7.0或更高版本 [https://php.ac.cn/]
- PHP Curl扩展 [https://php.ac.cn/manual/en/intro.curl.php]
- PHP JSON扩展 [https://php.ac.cn/manual/en/book.json.php]
安装
使用Composer 2进行安装。
运行 composer require ashus/google-addressbook
。
别忘了使用SQL/中的SQL创建数据库表。
命令行
可以通过命令行同步地址簿。
要这样做,只需运行脚本 "sync-cli.sh"。
这会同步所有已启用Google地址簿插件的用户的地址簿。
您也可以使用crontab定期同步地址簿。
只需指定如下条目
0 */4 * * * /path/to/roundcube/plugins/google_addressbook/sync-cli.sh
(例如,每4小时一次)
自己的Google应用程序
您需要将插件注册到Google,以便自定义在请求访问联系人时向用户展示的应用程序名称。为此,您需要在 https://console.cloud.google.com/ 注册并为您Roundcube安装创建一个项目。启用OAuth 2.0客户端ID凭据后,您将获得一个应用程序名称、客户端ID和密钥。确保在创建Web应用程序凭据时允许重定向到 https://your-rc-base..../?_task=settings&_action=plugin.google_addressbook.auth
,并将其存储在 google_addressbook_client_redirect_url
中。或者,您也可以创建其他凭据,但这样就需要禁用 google_addressbook_client_redirect
。无论如何,请记住为该项目启用 Google People API。将这些值放入配置文件夹中的 config.inc.php
文件中,如下所示
<?php
$config['google_addressbook_application_name'] = 'your-application-name';
$config['google_addressbook_client_id'] = 'your-application-id';
$config['google_addressbook_client_secret'] = 'your-application-secret';
$config['google_addressbook_client_redirect'] = true;
$config['google_addressbook_client_redirect_url'] = 'https://your-rc-base..../?_task=settings&_action=plugin.google_addressbook.auth';
请注意,所有现有的oauth令牌都将不再工作,用户必须从Google请求新的访问令牌。因此,您可能只想在新的安装中执行此更改。
联系方式
作者:Stefan Wagner (github@stwa.name)
通过github提交错误报告
https://github.com/stwa/google-addressbook/issues
许可
本程序是自由软件:您可以按照自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它,许可证版本为3,或者(根据您的选择)任何更高版本。
本程序按“希望它有用”的方式分发,但不提供任何保证;甚至不保证适销性或适用于特定目的。有关详细信息,请参阅GNU通用公共许可证。
您应该已收到GNU通用公共许可证的副本。如果没有,请参阅www.gnu.org/licenses/。