Могу ли я использовать Google API для авторизации сервисной учетной записи для встраивания iframe в календарь? - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь встроить Календарь Google в iframe, используя код для вставки с идентификатором календаря.Я создал учетную запись службы и предоставил этой учетной записи доступ к соответствующему календарю.

Я могу успешно подтвердить подлинность учетной записи службы с помощью клиента API Google и получить события из календаря.Однако я не могу понять, как проходить аутентификацию, поэтому я могу показать iframe.

require_once __DIR__ . '/googleapi/vendor/autoload.php';
$client = new Google_Client();

$client->setApplicationName('Google Calendar API PHP');
$client->setScopes(Google_Service_Calendar::CALENDAR_READONLY);
$client->setAuthConfig('my-credentials.json');
$client->setAccessType('offline');
$service = new Google_Service_Calendar($client);

?>
<iframe src="https://calendar.google.com/calendar/embed?src=calendarId&ctz=Europe%2FCopenhagen" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>`

Результатом является просто сообщение о том, что мне не разрешено показывать рассматриваемый календарь.

1 Ответ

0 голосов
/ 04 февраля 2019

То, что вы делаете

<iframe src="https://calendar.google.com/calendar/embed?src=calendarId&ctz=Europe%2FCopenhagen" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>

Все равно что вы пытаетесь запустить приложение календаря Google в iframe.Это не сработает, так как вы не сможете проверить его подлинность, и я не думаю, что Google разрешит им вход в систему из iframe.

Что вы должны делать

Вы должны настроить приложение на отображение календаря по своему усмотрению, а затем поместить приложение в iframe.

<iframe src="https://yourcalendar.application.dk/awsomapp.php" style="border: 0" width="800" height="600" frameborder="0" scrolling="no"></iframe>

Сервисный аккаунт просто предоставит вам доступ к данным, которые он не собираетсяпредоставить вам доступ к веб-сайту календаря Google через iframe.

...