Добавление API php Google для календаря google в laravel
Я хочу использовать api php Google для доступа к календарям. Я работаю с Laravel. Я уже добавил пакет на composer, и он загружается нормально, дело в том, что я должен делать с поставщиками и псевдонимами или что-то еще, чтобы связать api с моим приложением. Я хочу позвонить в класс календаря. Я делаю auth правильно с другой библиотекой, artdarek/oauth-4-laravel, я могу показать календарь с этим api, но я не могу вставить / отредактировать календарь, это более простой способ ?
здесь поставщики:
'providers' => array(
'IlluminateFoundationProvidersArtisanServiceProvider',
'IlluminateAuthAuthServiceProvider',
'IlluminateCacheCacheServiceProvider',
'IlluminateSessionCommandsServiceProvider',
'IlluminateFoundationProvidersConsoleSupportServiceProvider',
'IlluminateRoutingControllerServiceProvider',
'IlluminateCookieCookieServiceProvider',
'IlluminateDatabaseDatabaseServiceProvider',
'IlluminateEncryptionEncryptionServiceProvider',
'IlluminateFilesystemFilesystemServiceProvider',
'IlluminateHashingHashServiceProvider',
'IlluminateHtmlHtmlServiceProvider',
'IlluminateLogLogServiceProvider',
'IlluminateMailMailServiceProvider',
'IlluminateDatabaseMigrationServiceProvider',
'IlluminatePaginationPaginationServiceProvider',
'IlluminateQueueQueueServiceProvider',
'IlluminateRedisRedisServiceProvider',
'IlluminateRemoteRemoteServiceProvider',
'IlluminateAuthRemindersReminderServiceProvider',
'IlluminateDatabaseSeedServiceProvider',
'IlluminateSessionSessionServiceProvider',
'IlluminateTranslationTranslationServiceProvider',
'IlluminateValidationValidationServiceProvider',
'IlluminateViewViewServiceProvider',
'IlluminateWorkbenchWorkbenchServiceProvider',
'ArtdarekOAuthOAuthServiceProvider',
'GoogleClient',
),
вот псевдонимы :
'aliases' => array(
'App' => 'IlluminateSupportFacadesApp',
'Artisan' => 'IlluminateSupportFacadesArtisan',
'Auth' => 'IlluminateSupportFacadesAuth',
'Blade' => 'IlluminateSupportFacadesBlade',
'Cache' => 'IlluminateSupportFacadesCache',
'ClassLoader' => 'IlluminateSupportClassLoader',
'Config' => 'IlluminateSupportFacadesConfig',
'Controller' => 'IlluminateRoutingController',
'Cookie' => 'IlluminateSupportFacadesCookie',
'Crypt' => 'IlluminateSupportFacadesCrypt',
'DB' => 'IlluminateSupportFacadesDB',
'Eloquent' => 'IlluminateDatabaseEloquentModel',
'Event' => 'IlluminateSupportFacadesEvent',
'File' => 'IlluminateSupportFacadesFile',
'Form' => 'IlluminateSupportFacadesForm',
'Hash' => 'IlluminateSupportFacadesHash',
'HTML' => 'IlluminateSupportFacadesHTML',
'Input' => 'IlluminateSupportFacadesInput',
'Lang' => 'IlluminateSupportFacadesLang',
'Log' => 'IlluminateSupportFacadesLog',
'Mail' => 'IlluminateSupportFacadesMail',
'Paginator' => 'IlluminateSupportFacadesPaginator',
'Password' => 'IlluminateSupportFacadesPassword',
'Queue' => 'IlluminateSupportFacadesQueue',
'Redirect' => 'IlluminateSupportFacadesRedirect',
'Redis' => 'IlluminateSupportFacadesRedis',
'Request' => 'IlluminateSupportFacadesRequest',
'Response' => 'IlluminateSupportFacadesResponse',
'Route' => 'IlluminateSupportFacadesRoute',
'Schema' => 'IlluminateSupportFacadesSchema',
'Seeder' => 'IlluminateDatabaseSeeder',
'Session' => 'IlluminateSupportFacadesSession',
'SSH' => 'IlluminateSupportFacadesSSH',
'Str' => 'IlluminateSupportStr',
'URL' => 'IlluminateSupportFacadesURL',
'Validator' => 'IlluminateSupportFacadesValidator',
'View' => 'IlluminateSupportFacadesView',
'OAuth' => 'ArtdarekOAuthFacadeOAuth',
'Calendar' => 'GoogleServiceCalendar'
),
композитор.в JSON
"require": {
"laravel/framework": "4.1.*",
"artdarek/oauth-4-laravel": "dev-master",
"google/apiclient": "dev-master"
},
метод добавления календаря
public function addCalendar($calendarName){
$calendar = new Calendar();
$calendar->setSummary($calendarName);
// get google service
$googleService = OAuth::consumer( 'Google' );
$createdCalendar = $googleService->calendars->insert($calendar);
echo $createdCalendar->getId();
}
надеюсь, вы можете мне помочь ! Спасибо !
2 ответов
после добавления библиотеки google в блоке require вашего композитора.файл json, эта строка:
"google/apiclient": "dev-master"
run
композитор обновление
теперь вы можете использовать клиентскую библиотеку google в контроллере
$google_client = new Google_Client();
$google_client->setApplicationName('YOUR APPLICATION NAME');
$google_client->setClientId('YOUR CLIENT ID');
$google_client->setClientSecret('SECRET');
конечно, вы можете сохранить идентификатор клиента и секрет, хранящиеся в файле конфигурации.
вам не нужно добавлять путь к библиотеке в список поставщиков.
в своей текущей форме (насколько мне известно) эта библиотека не предназначена для простого использования в Laravel. Он не содержит поставщика услуг Laravel (который будет входить в массивы поставщиков) или класс фасада, который будет входить в массив псевдонимов.
когда я пытался использовать этот API, я пошел и получил неофициальный пакет, содержащий пространства имен, а затем, когда я хотел использовать код, я просто вызывал его через пространство имен, например
$client = new \Google\Client();
// Sets the class to use objects
$client->setUseObjects(true);
// Initiates Calendar Class injecting the $client class
$cal = new \Google\CalendarService($client);
Если вы были настроены на использование официальная библиотека я считаю, что вам нужно будет включить файлы, например
include('vendor/google/client...');
и следуя руководству github по использованию пакета.
надеюсь, что это помогает