Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > OAuth 2.0 в Google Calendar Api - как разобраться?


Автор: mus 26.12.2012, 08:46
Уважаемые разработчики. 
Задача - написать приложение, которое будет брать расписание с rss-ленты одного сайта и добавлять его в моя Google Calendar. 
1) Приложение автоматизированное полностью и запускается через CRON. 
2) CRON запускает модуль загрузки и размещения расписания 1 раз в день с 25 числа предыдущего месяца. То есть механизм следующий: 
25 ноября - запуск модуля, проверка наличия расписания на декабрь. Ответ - расписание отсутствует. 
26 ноября - запуск модуля, проверка наличия расписания на декабрь. Ответ - расписание получно. Размещаем расписание в календаре 

Google на декабрь. 

Главный вопрос - как осуществить доступ к Google Api?.. Сразу говорю - английским не владею, поэтому отсылка на английские 

статьи, даже с Google-переводом мало даст для решения задачи. 

Проблемы, с которыми столкнулся. 
Проблема №1. Google использует и даже навязывает для своих приложений использовать протокол аутентификации OAuth 2.0. К чему мне он я так и не понял - я же не собираюсь допускать к использованию приложения сторонних пользователей или запрашивать о них информацию. 

Все, что мне нужно - это коннект к своему аккуанту (собирался прям в приложении прописать свои логин и пароль), и забивка базы 

данных. Но здесь все, на первый взгляд, мудреннее. 

Проблема №2. Я так понимаю, если использование OAuth 2.0 и всех этих наворотов неизбежно, то само собой вопрос - как приложение, 

коему нужно получить для аутентификации некий Токен, может работать в полностью автономном режиме?.. Без участия пользователя... 

Подскажете, как наиболее просто организовать при данной задаче доступ к Google Calendar Api?.. 
И если только лишь через OAuth - то как посоветуете организовать структуру модуля аутентификации?.. 

P.S. Пока читаю наблу от Котерова про этот OAuth, но решительно не понимаю, зачем он мне в приложении, которое не пишется для сторонних пользователей, полностью закрыто и использует постоянный логин и пароль.

Автор: GZep 26.12.2012, 09:36
Цитата(mus @  26.12.2012,  08:46 Найти цитируемый пост)
использовать протокол аутентификации OAuth 2.0. К чему мне он я так и не понял - я же не собираюсь допускать к использованию приложения сторонних пользователей или запрашивать о них информацию

это как стандарт, универсальное и проверенное решение.
В консоли api ковырялись? https://code.google.com/apis/console/ там надо включить доступ к api, а еще там есть "Write your First App" мануал: https://developers.google.com/google-apps/calendar/firstapp?hl=ru

Автор: mus 26.12.2012, 12:52
Да, ковырялся. Подключиться я подключился, токен получил, но как сие программа будет делать на автомате, без моего вмешательства?.. Не понимаю вообще(((..
Плюс там в мануале есть доступ к классу (в бета версии). Через него срабатывает подключение, но потом там в мануале речь идет о некоем объекте:
Цитата

$event = new Event();
$event->setSummary('Appointment');
$event->setLocation('Somewhere');
$start = new EventDateTime();
$start->setDateTime('2011-06-03T10:00:00.000-07:00');
$start->setTimeZone('America/Los_Angeles');


Я такого класса вообще в примере не нашел.
В-общем, странно все это.
Может кто объяснить?..

Автор: Sanchezzz 3.1.2013, 21:38
Очень просто при запуске проверяется если есть AccessToken если нету то делается запрос на получение AccessToken получили идем дальше, выполняем нужные функцию.

PS AccessToken сохраняют либо каждый раз берут новый...



Автор: xoptov 1.5.2013, 15:06
Цитата(Sanchezzz @ 3.1.2013,  21:38)
Очень просто при запуске проверяется если есть AccessToken если нету то делается запрос на получение AccessToken получили идем дальше, выполняем нужные функцию.

PS AccessToken сохраняют либо каждый раз берут новый...

Вчем здесь ответ? Зачем вообще такие ответы писать???

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)