GithubHelp home page GithubHelp logo

ashus / google-addressbook Goto Github PK

View Code? Open in Web Editor NEW

This project forked from stwa/google_addressbook

2.0 4.0 1.0 113 KB

This plugin lets you sync your Google Addressbook in readonly mode with Roundcube.

License: GNU General Public License v3.0

JavaScript 4.26% PHP 89.84% TSQL 5.90%

google-addressbook's Introduction

Google Addressbook Plugin for Roundcube

This plugin lets you sync your Google Addressbook in readonly mode with Roundcube.

Info: Initially stwa created this plugin for Roundcube 0.8.5, but it is still working properly with the current version of Roundcube (version 1.6.0). So yes, you can still use this plugin, it's up to date!

Requirements

Installation

Use Composer 2 for installation.

Run composer require ashus/google-addressbook.

Do not forget to create the database table using the SQL from SQL/

Command Line

It is possible to sync the addressbooks via command line.
To do this, you just have to run the script "sync-cli.sh".
This syncs the addressbooks of all users who have enabled google addressbook plugin in their settings.

You can also use crontab to sync the addressbooks periodically.
Just specify an entry like:
0 */4 * * * /path/to/roundcube/plugins/google_addressbook/sync-cli.sh
(Every 4 hours in this example)

Own Google Application

You need to register your plugin with Google to customize the application name that is presented to users when requesting access to contacts. For this, you have to register at https://console.cloud.google.com/ and create a project for your roundcube installation. After enabling OAuth 2.0 Client ID credentials, you would get an application name, a client id and a secret. Ensure to allow redirect to https://your-rc-base..../?_task=settings&_action=plugin.google_addressbook.auth when you create the Web Application credential and also store this to google_addressbook_client_redirect_url. Alternatively you can create an Other credential, but then disable google_addressbook_client_redirect. Anyhow remember to enable Google People API for that project. Put all these values in a file named config.inc.php inside the config folder like this:

<?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';

Be aware that all existing oauth tokens will not work any more and the users have to request a new access token from Google. So you might want to do this change in a new installation only.

Contact

Author: Stefan Wagner ([email protected])

Bug reports through github:
https://github.com/stwa/google-addressbook/issues

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.

google-addressbook's People

Contributors

andras-tim avatar ashus avatar bilbolodz avatar chilek avatar daniele-athome avatar dicea-unipd avatar hrabalvojta avatar kd35a avatar notactuallyterry avatar prodrigestivill avatar rabauss avatar sebastians90 avatar stwa avatar wolfgangkarall avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

chilek

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.