Google Apps APIへアクセスするための基本ログイン処理

  • ログイン処理① – login.php
    事前準備で取得したクライアントIDとシークレット情報をもとにGoogleAppsのログイン画⾯を表⽰。

    <?php
    //ダウンロードしたパッケージのautoload.php読込
    require_once "/var/www/html/home/cakephp-2.9.6/app/Lib/vendor/autoload.php";
     
    $clientID    = (事前準備で取得したクライアントID);
    $secret      = (事前準備で取得したシークレット情報);
    $redirectURL = (Googleアカウント認証後の戻り先URL);
     
    $gC = new Google_Client();    // Google Client インスタンス?成 
    $gC->setClientId($clientID);    // クライアントID
    $gC->setClientSecret($secred);    // シークレット情報
    $gC->setRedirectUri($redirectURL);  // 認証後の戻り先URL指定
     
    // 利?するAppsのスコープ設定
    $client->setScopes(Google_Service_Drive::DRIVE);
    // 認証?URLの取得
    $authUrl = $gC->createAuthUrl();
    // 認証URLへリダイレクト
    header("location:{$authUrl}");
    ?>
    
  • ログイン処理② – auth.php
    ログイン処理①のあとのリダイレクト先のファイルです。
    GoogleAppsからの取得した認証トークン(リダイレクト)をセッション情報に格納。
    (※ここでは仮にセッションに⼊れてますが、DB管理でも問題なし。)

    <?php
    session_start();
     
    //ダウンロードしたパッケージのautoload.php読込
    require_once "/var/www/html/home/cakephp-2.9.6/app/Lib/vendor/autoload.php";
     
    $clientID    = (事前準備で取得したクライアントID);
    $secret      = (事前準備で取得したシークレット情報);
    $redirectURL = (Googleアカウント認証後の戻り先URL);
      
    $gC = new Google_Client();        // Google Client インスタンス?成
    $gC->setClientId($clientID);    // クライアントID
    $gC->setClientSecret($secret);    // シークレット情報
    $gC->setRedirectUri($redirectURL);  // 認証後の戻り先URL指定
     
    // 認証後のAppsよりリダイレクトされた場合
    // (codeがGETパラメーターにて指定されている場合)
    if (isset($_GET['code'])) {
        $gC->authenticate($_GET['code']);
     
        // このトークン情報をもとに各Appsへ接続します。
        $_SESSION['token'] = $gC->getAccessToken();
     
        // セッションを登録したら実際の開発したアプリに移動。
        header('Location: http://'.$_SERVER['HTTP_HOST']."/drive.php");
    }
    ?>
    
  • ログイン後は、トークンをもとに各APIを利⽤していきます。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする