easyappointments/doc/code/php/class-Google.html

333 lines
9.4 KiB
HTML
Raw Normal View History

2015-01-29 00:56:57 +02:00
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Class Google</title>
<link rel="stylesheet" href="resources/bootstrap.min.css?08b23951ef4599ca9cbf1f902d0e8290c9653ddd">
<link rel="stylesheet" href="resources/style.css?062e9e59e0b8c44fbaaded5b7ffc21f907b78669">
</head>
<body>
<div id="navigation" class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a href="index.html" class="brand">Overview</a>
<div class="nav-collapse">
<ul class="nav">
<li class="active">
<span>Class</span> </li>
<li class="divider-vertical"></li>
<li>
<a href="tree.html" title="Tree view of classes, interfaces, traits and exceptions"><span>Tree</span></a>
</li>
<li>
<a href="todo.html" title="Todo list"><span>Todo</span></a>
</li>
</ul>
</div>
</div>
</div>
</div>
<div id="left">
<div id="menu">
<form id="search" class="form-search">
<input type="hidden" name="cx" value="">
<input type="hidden" name="ie" value="UTF-8">
<input type="text" name="q" class="search-query" placeholder="Search">
</form>
<div id="groups">
</div>
<div id="elements">
<h3>Classes</h3>
<ul>
<li><a href="class-Admins_Model.html">Admins_Model</a></li>
<li><a href="class-Appointments.html">Appointments</a></li>
<li><a href="class-Appointments_Model.html">Appointments_Model</a></li>
<li><a href="class-Backend.html">Backend</a></li>
<li><a href="class-Backend_api.html">Backend_api</a></li>
<li><a href="class-Customers_Model.html">Customers_Model</a></li>
<li><a href="class-Errors.html">Errors</a></li>
<li class="active"><a href="class-Google.html">Google</a></li>
<li><a href="class-Google_Sync.html">Google_Sync</a></li>
<li><a href="class-Notifications.html">Notifications</a></li>
<li><a href="class-Providers_Model.html">Providers_Model</a></li>
<li><a href="class-Roles_Model.html">Roles_Model</a></li>
<li><a href="class-Secretaries_Model.html">Secretaries_Model</a></li>
<li><a href="class-Services_Model.html">Services_Model</a></li>
<li><a href="class-Settings_Model.html">Settings_Model</a></li>
<li><a href="class-Test.html">Test</a></li>
<li><a href="class-Unit_tests.html">Unit_tests</a></li>
<li><a href="class-Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li><a href="class-Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li><a href="class-Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li><a href="class-Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li><a href="class-Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li><a href="class-Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li><a href="class-Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li><a href="class-User.html">User</a></li>
<li><a href="class-User_Model.html">User_Model</a></li>
</ul>
<h3>Interfaces</h3>
<ul>
<li><a href="class-Admins_Model.html">Admins_Model</a></li>
<li><a href="class-Appointments.html">Appointments</a></li>
<li><a href="class-Appointments_Model.html">Appointments_Model</a></li>
<li><a href="class-Backend.html">Backend</a></li>
<li><a href="class-Backend_api.html">Backend_api</a></li>
<li><a href="class-Customers_Model.html">Customers_Model</a></li>
<li><a href="class-Errors.html">Errors</a></li>
<li class="active"><a href="class-Google.html">Google</a></li>
<li><a href="class-Google_Sync.html">Google_Sync</a></li>
<li><a href="class-Notifications.html">Notifications</a></li>
<li><a href="class-Providers_Model.html">Providers_Model</a></li>
<li><a href="class-Roles_Model.html">Roles_Model</a></li>
<li><a href="class-Secretaries_Model.html">Secretaries_Model</a></li>
<li><a href="class-Services_Model.html">Services_Model</a></li>
<li><a href="class-Settings_Model.html">Settings_Model</a></li>
<li><a href="class-Test.html">Test</a></li>
<li><a href="class-Unit_tests.html">Unit_tests</a></li>
<li><a href="class-Unit_tests_admins_model.html">Unit_tests_admins_model</a></li>
<li><a href="class-Unit_tests_appointments_model.html">Unit_tests_appointments_model</a></li>
<li><a href="class-Unit_tests_customers_model.html">Unit_tests_customers_model</a></li>
<li><a href="class-Unit_tests_providers_model.html">Unit_tests_providers_model</a></li>
<li><a href="class-Unit_tests_secretaries_model.html">Unit_tests_secretaries_model</a></li>
<li><a href="class-Unit_tests_services_model.html">Unit_tests_services_model</a></li>
<li><a href="class-Unit_tests_settings_model.html">Unit_tests_settings_model</a></li>
<li><a href="class-User.html">User</a></li>
<li><a href="class-User_Model.html">User_Model</a></li>
</ul>
</div>
</div>
</div>
<div id="splitter"></div>
<div id="right">
<div id="rightInner">
<div id="content" class="class">
<h1>Class Google</h1>
<dl class="tree well">
<dd style="padding-left:0px">
CI_Controller
</dd>
<dd style="padding-left:30px">
<img src="resources/inherit.png" alt="Extended by">
<b><span>Google</span></b>
</dd>
</dl>
<div class="alert alert-info">
<b>Located at</b> <a href="source-class-Google.html#3-209" title="Go to source code">google.php</a>
<br>
</div>
<h2>Methods summary</h2>
<table class="summary table table-bordered table-striped methods" id="methods">
<tr data-order="__construct" id="___construct">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#___construct">#</a>
<code><a href="source-class-Google.html#4-6" title="Go to source code">__construct</a>( )</code>
<div class="description short">
</div>
<div class="description detailed hidden">
</div>
</div></td>
</tr>
<tr data-order="oauth" id="_oauth">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_oauth">#</a>
<code><a href="source-class-Google.html#8-27" title="Go to source code">oauth</a>( <span>integer <var>$provider_id</var></span> )</code>
<div class="description short">
<p>Authorize Google Calendar API usage for a specific provider.</p>
</div>
<div class="description detailed hidden">
<p>Authorize Google Calendar API usage for a specific provider.</p>
<p>Since it is required to follow the web application flow, in order to retrieve
a refresh token from the Google API service, this method is going to authorize
the given provider.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$provider_id</var></dt>
<dd>The provider id, for whom the sync authorization is made.</dd>
</dl></div>
</div>
</div></td>
</tr>
<tr data-order="oauth_callback" id="_oauth_callback">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_oauth_callback">#</a>
<code><a href="source-class-Google.html#29-67" title="Go to source code">oauth_callback</a>( )</code>
<div class="description short">
<p>Callback method for the Google Calendar API authorization process.</p>
</div>
<div class="description detailed hidden">
<p>Callback method for the Google Calendar API authorization process.</p>
<p>Once the user grants consent with his Google Calendar data usage, the Google
OAuth service will redirect him back in this page. Here we are going to store
the refresh token, because this is what will be used to generate access tokens
in the future.</p>
<p><strong>IMPORTANT!</strong> Because it is necessary to authorize the application
using the web server flow (see official documentation of OAuth), every
Easy!Appointments installation should use its own calendar api key. So in every
api console account, the "http://path-to-e!a/google/oauth_callback" should be
included in an allowed redirect url.</p>
</div>
</div></td>
</tr>
<tr data-order="sync" id="_sync">
<td class="attributes"><code>
public
</code>
</td>
<td class="name"><div>
<a class="anchor" href="#_sync">#</a>
<code><a href="source-class-Google.html#69-208" title="Go to source code">sync</a>( <span>numeric <var>$provider_id</var> = <span class="php-keyword1">NULL</span></span> )</code>
<div class="description short">
<p>Complete synchronization of appointments between Google Calendar and Easy!Appointments.</p>
</div>
<div class="description detailed hidden">
<p>Complete synchronization of appointments between Google Calendar and Easy!Appointments.</p>
<p>This method will completely sync the appointments of a provider with his Google Calendar
account. The sync period needs to be relatively small, because a lot of API calls might
be necessary and this will lead to consuming the Google limit for the Calendar API usage.</p>
<h4>Parameters</h4>
<div class="list"><dl>
<dt><var>$provider_id</var></dt>
<dd>Provider record to be synced.</dd>
</dl></div>
</div>
</div></td>
</tr>
</table>
<h3>Magic methods summary</h3>
</div>
</div>
<div id="footer">
API documentation generated by <a href="http://apigen.org">ApiGen</a>
</div>
</div>
<script src="resources/combined.js"></script>
<script src="elementlist.js"></script>
</body>
</html>