Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 1
Регистрация: 14.06.2017
Сообщений: 13

Google Calendar API - добавить событие ?

17.10.2018, 22:58. Показов 3227. Ответов 0

Студворк — интернет-сервис помощи студентам
Пробиваюсь через дебри API Google, научился авторизовываться и читать календарь. При попытке записать событие в календарь получаю ответ "You need to have owner access to this calendar." - т.е. типа дайте больше прав для добавления события (ну как я понял). Календарь сделан "публичным" (а кстати, без публичности у меня не получилось даже подключиться к календарю, это возможно? ) require_once($_SERVER['DOCUMENT_ROOT'].'/vendor/autoload.php');

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
$client = new Google_Client();
$client->setAuthConfig('auth.json');
$client->setScopes(Google_Service_Calendar::CALENDAR);
 
$calendarId = 'тут корректный ИД календаря';
 
 
$service = new Google_Service_Calendar($client);
 
$scope = new Google_Service_Calendar_AclRuleScope();
$scope->setType('user');
$scope->setValue( 'mymailtest@gmail.comm' );
 
$rule = new Google_Service_Calendar_AclRule();
$rule->setRole( 'owner' );
$rule->setScope( $scope );
 
$result = $service->acl->insert($calendarId, $rule);
 
$calendarList = $service->calendarList->listCalendarList();
 
 
 $optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => true,
  'timeMin' => date('c'),
);
 
 
$event = new Google_Service_Calendar_Event(array(
  'summary' => 'Тест возможно как ИД?',
    'location' => 'г.Миасс ул. 8 Июля',
    'description' => 'описание добавляемого события',
    'start' => array(
    'dateTime' => '2018-10-16T16:00:00-17:00',
    'timeZone' => 'Asia/Yekaterinburg',
  ),
   'end' => array(
    'dateTime' => '2018-10-16T17:00:00-17:00',
    'timeZone' => 'Asia/Yekaterinburg',
  ),
   'recurrence' => array(
    'RRULE:FREQ=DAILY;COUNT=2'
  ),
  'attendees' => array(
    array('email' => 'testemail@gmail.com'),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
'overrides' => array(
array('method' => 'email', 'minutes' => 24 * 60),
array('method' => 'popup', 'minutes' => 10),
),
),
));
$event = $service->events->insert($calendarId, $event);
printf('Event created: %s\n', $event->htmlLink);
Авторизацию проходит и выдает при попытке добавления события:

Fatal error: Uncaught exception 'Google_Service_Exception' with message '{ "error": { "errors": [ { "domain": "calendar", "reason": "requiredAccessLevel", "message": "You need to have owner access to this calendar." } ], "code": 403, "message": "You need to have owner access to this calendar." } } ' in C:\openserver\OSPanel\domains\gelios\ven dor\google\apiclient\src\Google\Http\RES T.php:119 Stack trace: #0 C:\openserver\OSPanel\domains\gelios\ven dor\google\apiclient\src\Google\Http\RES T.php(94): Google_Http_REST::decodeHttpResponse(Obj ect(GuzzleHttp\Psr7\Response), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...') #1 [internal function]: Google_Http_REST::doExecute(Object(Guzzl eHttp\Client), Object(GuzzleHttp\Psr7\Request), 'Google_Service_...') #2 C:\openserver\OSPanel\domains\gelios\ven dor\google\apiclient\src\Google\Task\Run ner.php(181): call_user_func_array(Array, Array) #3 C:\openserver\OSPanel\domains\gelios\ven dor\google\apiclient\src\Google\Http\RES T.php(58): Google_Task_Runner->ru in C:\openserver\OSPanel\domains\gelios\ven dor\google\apiclient\src\Google\Http\RES T.php on line 119
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.10.2018, 22:58
Ответы с готовыми решениями:

Как используя Calendar Google API получить дни рождения
private List<String> getDataFromApi() throws IOException { // List the next 10 events from the primary calendar. ...

Как добавить библиотеки Google API в мой проект?
Сейчас пытаюсь сделать что-то с AdSense API, пока только запустил примеры с офсайта, и то - только как Java Project. Когда я импортировал...

Calendar событие All Day
Добрый день ! Прошу помощи: Работаю с календарным представлением, создаю в нем Task и возникла проблема как сделать задания на...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
17.10.2018, 22:58
Помогаю со студенческими работами здесь

Событие SelectionChanged в Calendar
Сваял пользовательский контрол для ввода даты в текстовое поле: Текстовое поле, рядом кнопка, при нажатии на которую вылазит календарик....

Calendar Control не вызывает событие SelectionChanged
Calendar Control не вызывает событие SelectionChanged, как будто не происходит postback в чем может быть проблема?

Access и Google Calendar
Добрый день! Помогите плз с таким вопросом. В базе access хранятся записи о неких предстоящих событиях с указанием на дату и время. ...

Google Calendar и Java
Добрый день, надеюсь кто-то встречался с такой проблемой, в общем пытаюсь установить соединение с календарём гугл по этому гайду...

Flyme: проблема синхронизации c Google Calendar
Доброго времени. С момента обновления телефона MEIZU M5 Note на Flyme 7 - начались проблемы с синхронизацией Google calendar. Календарь...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru