Google Calendar API를 사용하여 Laravel 앱에서 약속을 추가하는 단계

이번에는 GoogleCalendarAPI를 사용하여 Laravel 앱에서 GoogleCalendar에 일정을 추가합니다.
절차는
1. GoogleCloudPlatform에서 계정 키 생성
2. GoogleCalendar 설정
3.Laravel 앱 만들기
4.Laravel 앱 설정
된다.

전제 조건



· 이번에는 로컬 전용 개발
· 라벨 버전은 7.3.0

원래 API란?



A 애플리케이션
P 프로그래밍
I 인터페이스
인터페이스란 무엇인가와 무언가를 연결하는 순서나 규약을 정리한 것의 의미가 있습니다.
내 API는 한 기능을 다른 프로그램에서 사용할 수 있도록하는 약관, 중재 약관으로 이해합니다.
그 중에서도 GoogleCalendarAPI는 웹을 이용한 API인 WebAPI에 해당합니다.

1. GoogleCloudPlatform에서 계정 키 생성



GoogleCloudPlatform에서 계정 키를 만듭니다.
아래 URL로 이동합니다.
htps : // 이런. cぉd. 오, ぇ. 코m/

먼저 새 프로젝트를 만듭니다.


그런 다음 GoogleCalendarAPI를 사용 설정합니다.
대시보드에서 API 및 서비스 → 라이브러리를 선택합니다.
GoogleCalendarAPI를 검색하고 사용 설정 버튼을 클릭합니다.

그런 다음 서비스 계정(API를 제어하는 ​​계정)을 만듭니다.
계정 이름 이외에는 우선 입력하지 않아도 됩니다.

마지막으로 계정 키를 만듭니다.
여기에서 작성된 JSON 파일과 계정 ID를 사용하여 서비스를 이용합니다.
조심스럽게 다루자.




2. GoogleCalendar 설정



GoogleCalendar에 서비스 계정 권한을 설정합니다.
먼저 새 캘린더를 만드세요.


사용자를 추가하고 사용자의 이메일 주소는 방금 만든 서비스 계정의 이메일 주소를 입력합니다.
다운로드된 JSON 파일의 "client_email"값을 복사합시다.
주는 권한은 약속의 추가만 합시다.

마지막으로 캘린더 ID를 가져옵니다.
Laravel 앱 측에서 API를 사용할 때 필요합니다.
캘린더 병합을 클릭하거나 스크롤하여 확인하십시오.


3.Laravel 앱 만들기



Laravel 앱을 만듭니다.
PHP 확장, Composer 등은 설치되어 있다고 가정합니다.
이쪽을 참고로 합니다.
h tps : // 레아도 bぇ. 이 m/ぁらゔぇl/7. x/그럼/인 s타치온. HTML
% composer create-project --prefer-dist laravel/laravel test-api "7.3.0"

4.Laravel 앱 설정



설정, 코딩을 해 나갑니다.
먼저 라이브러리를 설치합니다.
% composer require google/apiclient:^2.0

storage/app 아래에 api-key 디렉토리를 만들어 다음에 이전에 다운로드한 JSON 파일을 넣습니다.
% mkdir storage/app/api-key

#JSONファイルの配置されているディレクトリにて
% mv JSONファイル storage/app/api-key

GoogleCalendar에 약속을 추가하는 과정을 설명하기 위해 컨트롤러를 만듭니다.
% php artisan make:controller ApiTestController

라우팅을 설명합니다.

web.php
Route::get('/api','ApiTestController@test');

.env 파일에 캘린더 ID를 설정합니다.
GOOGLE_CALENDAR_ID=カレンダーID(カレンダーの結合で取得したもの)

컨트롤러에 처리를 설명합니다.

TestApiContoroller.php
<?php

namespace App\Http\Controllers;

use Google_Client;
use Google_Service_Calendar;
use Google_Service_Calendar_Event;

class ApiTestController extends Controller
{
    public function test()
    {
        $client = $this->getClient();
        $service = new Google_Service_Calendar($client);

        $calendarId = env('GOOGLE_CALENDAR_ID');

        $event = new Google_Service_Calendar_Event(array(
            //タイトル
            'summary' => 'テスト',
            'start' => array(
                // 開始日時
                'dateTime' => '2020-08-23T11:00:00+09:00',
                'timeZone' => 'Asia/Tokyo',
            ),
            'end' => array(
                // 終了日時
                'dateTime' => '2020-08-23T12:00:00+09:00',
                'timeZone' => 'Asia/Tokyo',
            ),
        ));

        $event = $service->events->insert($calendarId, $event);
        echo "イベントを追加しました";
    }

    private function getClient()
    {
        $client = new Google_Client();

        //アプリケーション名
        $client->setApplicationName('GoogleCalendarAPIのテスト');
        //権限の指定
        $client->setScopes(Google_Service_Calendar::CALENDAR_EVENTS);
        //JSONファイルの指定
        $client->setAuthConfig(storage_path('app/api-key/xxxxxxxxxx.json'));

        return $client;
    }
}


/api에 액세스해 봅니다.

캘린더를 확인합니다.


성공입니다!

물론 예정을 취득해 표시등도 할 수 있으므로 이하를 참고로 해 주세요.
ぇぺぺrs. 오, ぇ. 코 m / 카렌 r / v3 / 레후 렌세

좋은 웹페이지 즐겨찾기