所以我花了几个小时试图找出如何让谷歌日历工作。 V3没有日历示例,我想我找到了一个较旧的git,它有simple.php示例。我输入了我的客户端ID,密码,重定向和api密钥。
然后我浏览了simple.php页面,它要求授权,重定向回来并显示日历列表,它只是一堆随机内容的数组,与我的日历完全无关。
如何让它显示在实际日历中?为什么没有这方面的文件?
我只是想让谷歌日历显示在登录用户的网页上。想象一下,会有很多类似这样的文档。这是不是可以使用谷歌api?
<?php
require_once '../../src/Google_Client.php';
require_once '../../src/contrib/Google_CalendarService.php';
session_start();
$client = new Google_Client();
$client->setApplicationName("Google Calendar PHP Starter Application");
// Visit https://code.google.com/apis/console?api=calendar to generate your
// client id, client secret, and to register your redirect uri.
$client->setClientId('myClientId');
$client->setClientSecret('myClientSecret');
$client->setRedirectUri('http://localhost/wordpress/wp-content/themes/twentyfourteen/google-api-php-client/examples/calendar/simple.php');
$client->setDeveloperKey('myApiKey');
$cal = new Google_CalendarService($client);
if (isset($_GET['logout'])) {
unset($_SESSION['token']);
}
if (isset($_GET['code'])) {
$client->authenticate($_GET['code']);
$_SESSION['token'] = $client->getAccessToken();
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']);
}
if (isset($_SESSION['token'])) {
$client->setAccessToken($_SESSION['token']);
}
if ($client->getAccessToken()) {
$calList = $cal->calendarList->listCalendarList();
print "<h1>Calendar List</h1><pre>" . print_r($calList, true) . "</pre>";
$calendar = $service->calendars->get('primary');
echo $calendar->getSummary();
$_SESSION['token'] = $client->getAccessToken();
} else {
$authUrl = $client->createAuthUrl();
print "<a class='login' href='$authUrl'>Connect Me!</a>";
}
哪个让我
Calendar List
Array
(
[kind] => calendar#calendarList
[etag] => "uz4dSMPAwpogj1sIr_PP7Gm-AxY/Dkoq7AkW5RQPry2qgnRZSo6dywQ"
[items] => Array
(
[0] => Array
(
[kind] => calendar#calendarListEntry
[etag] => "uz4dSMPAwpogj1sIr_PP7Gm-AxY/OfDIPQtOizBQ0xUM55cH-RiMGw4"
[id] => myEmailAddress
[summary] => myEmailAddress
[timeZone] => America/Los_Angeles
[colorId] => 15
[backgroundColor] => #9fc6e7
[foregroundColor] => #000000
[selected] => 1
[accessRole] => owner
[defaultReminders] => Array
(
[0] => Array
(
[method] => email
[minutes] => 10
)
[1] => Array
(
[method] => popup
[minutes] => 30
)
)
[notificationSettings] => Array
(
[notifications] => Array
(
[0] => Array
(
[type] => eventCreation
[method] => email
)
[1] => Array
(
[type] => eventChange
[method] => email
)
[2] => Array
(
[type] => eventCancellation
[method] => email
)
[3] => Array
(
[type] => eventResponse
[method] => email
)
)
)
[primary] => 1
)
[1] => Array
(
[kind] => calendar#calendarListEntry
[etag] => "uz4dSMPAwpogj1sIr_PP7Gm-AxY/sjFVOlVft6ECLQqbceDo4SWExfc"
[id] => #contacts@group.v.calendar.google.com
[summary] => Contacts' birthdays and events
[description] => Your contacts' birthdays and anniversaries
[timeZone] => America/Los_Angeles
[colorId] => 17
[backgroundColor] => #9a9cff
[foregroundColor] => #000000
[selected] => 1
[accessRole] => reader
)
[2] => Array
(
[kind] => calendar#calendarListEntry
[etag] => "uz4dSMPAwpogj1sIr_PP7Gm-AxY/R5Pe_cDz8Mqz0fmwnfeci-di2wo"
[id] => en.usa#holiday@group.v.calendar.google.com
[summary] => Holidays in United States
[description] => Holidays in United States
[timeZone] => America/Los_Angeles
[colorId] => 9
[backgroundColor] => #7bd148
[foregroundColor] => #000000
[selected] => 1
[accessRole] => reader
)
)
)
Notice: Undefined variable: service in C:\xampp\htdocs\wordpress\wp-content\themes\twentyfourteen\google-api-php-client\examples\calendar\simple.php on line 33
Notice: Trying to get property of non-object in C:\xampp\htdocs\wordpress\wp-content\themes\twentyfourteen\google-api-php-client\examples\calendar\simple.php on line 33
Fatal error: Call to a member function get() on a non-object in C:\xampp\htdocs\wordpress\wp-content\themes\twentyfourteen\google-api-php-client\examples\calendar\simple.php on line 33
答案 0 :(得分:0)
我猜你接下来要做的就是列出这个日历中的事件。 https://developers.google.com/google-apps/calendar/v3/reference/events/list
您可以选择要对引用中的日历或事件做什么,然后您可以在每个页面的末尾找到php示例。