Я пытаюсь обновить API календаря Google до версии v3 из v1 в проекте веб-службы. Он отлично работал с api v1 в настоящее время, который использует двухногий Oauth для операций с доменом. Например, мы можем печатать календари и события CRUD в календарях любого человека внутри нашего домена, включая людей, подписавших календари публичной учетной записи.
Пока все хорошо, но я не нашел подходящего решения для замены в api v3. Проверяя учетную запись службы, я загрузил последнюю клиентскую библиотеку php и запустил некоторые примеры кодов и сделал некоторые конфигурации в Cpanel и консоли, и это работает простым способом.
$client = new Google_Client(); $client->setApplicationName("Google Calendar PHP Starter Application"); # fetch the private key $key = file_get_contents(KEY_FILE); $client->setClientId(CLIENT_ID); $auth = new Google_AssertionCredentials( SERVICE_ACCOUNT_NAME, array('https://www.googleapis.com/auth/calendar'), $key, 'notasecret', 'http://oauth.net/grant_type/jwt/1.0/bearer', 'aaa@gmail.com' ); $client->setAssertionCredentials($auth); $service = new Google_CalendarService($client); $calendarList = $service->calendarList->get('aaa@gmail.com');
Я могу получить список календарей aaa@gmail.com, выдав себя за него, в то время как я не могу получить список bbb@gmail.com, если я не выдам себя за bbb@gmail.com, чтобы перестроить Google_AssertionCredentials. Это не так удобно, как то, что оно действует в api v1. С ключом использования домена и секретным набором в v1, у меня есть волшебная сила всего. т.е. я могу получить список календаря, добавив параметр xoauth_requestor_id = AN_EMAIL.
Мне часто приходится иметь дело с просьбой обновить календари нескольких людей за один раз. Кто-нибудь знает хороший способ справиться с ним с учетной записью службы в api v3?
Любая помощь будет оценена.