PHP Получение списка событий API календаря Google не работает в автономном режимеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP Получение списка событий API календаря Google не работает в автономном режиме

Сообщение Anonymous »

Я попытался использовать клиент PHP Google PHP (https://github.com/googleapis/google-api-php-client) и следуя их учебникам и примерам, но также и другим.
Это мой код.

Код: Выделить всё

index.php
:

Код: Выделить всё

require_once __DIR__.'/vendor/autoload.php';

session_start();

$client = new Google\Client();
$client->setAuthConfig('xxx.json');
$client->setAccessType("offline");
$client->addScope('https://www.googleapis.com/auth/calendar.events.readonly');

if (isset($_SESSION['access_token']) && $_SESSION['access_token']) {
$client->setAccessToken($_SESSION['access_token']);

// Print the next 10 events on the user's calendar.
$calendarId = 'primary';
$optParams = array(
'maxResults' => 10,
'orderBy' => 'startTime',
'singleEvents' => TRUE,
'timeMin' => date('c'),
);

$service = new Google_Service_Calendar($client);
$results = $service->events->listEvents($calendarId, $optParams);

if (count($results->getItems()) == 0) {
print "No upcoming events found.
";
} else {
print "Upcoming events:
";
foreach ($results->getItems() as $event) {
$start = $event->start->dateTime;
if (empty($start)) {
$start = $event->start->date;
}
printf("%s (%s)
", $event->getSummary(), $start);
}
}

} else {
$redirect_uri = 'https://' . $_SERVER['HTTP_HOST'] . '/xxx/oauth2callback.php';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
< /code>
oauth2callback.php
:
require_once __DIR__.'/vendor/autoload.php';

session_start();

$client = new Google\Client();
$client->setAuthConfigFile('xxx.json');
$client->setRedirectUri('https://' . $_SERVER['HTTP_HOST'] . '/xxx/oauth2callback.php');
$client->addScope('https://www.googleapis.com/auth/calenda ... s.readonly');

if (! isset($_GET['code'])) {
$auth_url = $client->createAuthUrl();
header('Location: ' . filter_var($auth_url, FILTER_SANITIZE_URL));
} else {
$client->authenticate($_GET['code']);
$_SESSION['access_token'] = $client->getAccessToken();
$redirect_uri = 'https://' . $_SERVER['HTTP_HOST'] . '/xxx/';
header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL));
}
< /code>
I have two problems:
  • When Google asks for my account's OAuth it says my app is not safe. How could I fix that?
  • If I change web browser, Google asks for my OAuth again (which others are not supposed to know), but I wanted an automatic authorization that doesn't require OAuth every time and that means even when my account is 'offline'.
My goal is letting people who are using my web app (so not everyone) read (only) my calendar list of next N events.

Подробнее здесь: https://stackoverflow.com/questions/761 ... ng-offline
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»