Google Kalendar API

199
01 июня 2018, 10:50

Добрый день есть проблема,как передать токен доступа user что бы он не проходил авторизации а сразу мог получить доступ и сделать запись в календарь,на данный момент все работает,но всегда просит авторизации и разрешения на доступ и только тогда я получаю токен доступа,как его передать что бы каждый мог воспользоваться данным сервисом,помогите кто может всю голову сломал уже

$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->setAccessType("offline");        // offline access
$client->setIncludeGrantedScopes(true);   // incremental auth
$client->addScope("https://www.googleapis.com/auth/calendar");
$redirect_uri = 'http://localhost/index.php';
if((isset($_GET['action'])) && ($_GET['action'] == 'logout')) {
//пользователь нажал выход, отзываем токен
if (isset($token['refresh_token'])) {
  $tokenString = $token['refresh_token'];
} else {
  $tokenString = $token['access_token'];
}
//сбрасываем сессию
unset($_SESSION['access_token']);
//перезагружаем страницу
header('Location: ' . $redirect_uri);
}
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);  
$_SESSION['access_token'] = $client->getAccessToken();
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
    }
  if (!isset($_SESSION['access_token'])) {
$authUrl = $client->createAuthUrl();
 header('Location: '.$authUrl);
print "Connect Me!Подключи меня";
}
  if (isset($_SESSION['access_token'])) {
$client->setAccessToken($_SESSION['access_token']);
print "LogOut Eсть доступ";
if(isset($_POST['addEventSubmit'])){

//информация с форм
 $inputDate = $_POST['inputDate'];
 $startTime = $_POST['inputStartTime'];
 $endTime = $_POST['inputEndTime'];
 $inputClientName = $_POST['inputClientName'];
 $inputClientPhoneNumber = $_POST['inputClientPhoneNumber'];
 $inputSlug = $_POST['inputSlug'];
$tz = (new \DateTime())->getTimezone()->getName();
        //время начала бронирования
        $startDate = new \DateTime($inputDate . 'T' . $startTime, new \DateTimeZone($tz));
        $startTime = $startDate->format(DATE_ATOM);
        //время окончания бронирования
        $endDate = new \DateTime($inputDate . 'T' . $endTime, new \DateTimeZone($tz));
        $endTime = $endDate->format(DATE_ATOM);
$calendarId = '********';

$optParams = new Google_Service_Calendar_Event([
      'summary' => 'Забронировано',
            'description' => "
                Вид услуги : $inputSlug
                Имя клиента: $inputClientName
                Контактный номер: $inputClientPhoneNumber ",
                'start' => [
                    'dateTime' => $startTime
                ],
            'end' => [
                'dateTime' => $endTime
            ]
  ]);
  $service = new Google_Service_Calendar($client);
  //передаем календ 2 параметра 1-это id календаря 2-передаем объект
  $results = $service->events->insert($calendarId, $optParams);
  }
}
READ ALSO
Запаковка программы в исполняемый файл exe

Запаковка программы в исполняемый файл exe

У меня есть cmd скрипт для работы моего php кода из консолиВ этой же папке находится файл конфига и папка с php интерпретатором для, собственно,...

183
PHP фильтровать строку

PHP фильтровать строку

Есть входная строка(ссылка), может быть вида facebookcom/ или http://facebook

204
Как записать PHP код в файл, но не выполнять его при записи

Как записать PHP код в файл, но не выполнять его при записи

Записываю (кэширую) небольшое кол-во товаров (хитов) в файл при помощи функции:

211