フルスタックエンジニアを目指す|株式会社ナンバーワンソリューションズ

フルスタックエンジニアを目指す

PG PHP

PHPでGoogeDriveAPIを使ってみる(1)

投稿日:

PHPでGoogleDriveのAPIを利用してみます

OAUTHクライアント情報を取得する方法は各種紹介されているので、簡潔に。実装コード中心に。

関連サイト

ここでOAUTHのクライアント情報を取得します
GoogleDeveloperコンソール

GoogleAPIクライアントライブラリドキュメントはこちら
GoogelAPIクライアントライブラリドキュメント

GoogelAPIクライアントライブラリのGitHubはこちら
GoogleAPIクライアントライブラリ

GoogleDriveAPIドキュメントはこちら
GoogleDriveAPIドキュメント

GoogleのOAUTHクライアント情報取得

ここはいろんなサイトで紹介されているので簡単に

  • クラウドコンソールへアクセス
  • プロジェクトを作成していない場合、作成します
  • 左側のメニューから「APIとサービス」をクリック
  • 認証情報をクリック
  • 「認証情報を作成」をクリック
  • 「OAUTHクライアントID」を選択
  • 名前と「承認後リダイレクトURL」を入力して保存
  • 「JSONをダウンロード」をクリックしてクライアントIDなどの情報をまとめてファイルでダウンロード
  • APIの有効化の画面で「GoogleDriveAPI」を探して、有効化

ここまででGoogle側の準備完了。

承認後リダイレクトURLはユーザがGoogle側で承認後にリダイレクトで戻ってくるエンドポイントURLですが、とりあえずは、これから作るPHPのURLと、同じでもいいいですね

ライブラリの導入

Composerで

ダウンロードしたJSONファイル

ダウンロードしたJSONファイルの名前を変更します。何でもいいのですが、とりあえず「client_secrets.json」とします。
実際の運用では、外部からアクセスされない場所にセキュアに保存する必要がありますが、とりあえずは、PHPファイルと同じ階層に配置しておきます

OAUTH

ドキュメントの手順に従ってコードを進めます

まずは第一段階

これでGoogle様のOAUTHの承認画面へリダイレクトされます

ユーザが承認した場合、認証コードを伴って「認証後リダイレクトURL」へ戻ってます。その際にGETパラメータで「code」が付与されているので、その値を取り出して、実際のアクセストークンを取得します

GoogleDriveのルート配下のファイル、フォルダの一覧取得

ということで、全体コード。

正しく処理が行われ、ユーザが承認した場合、ユーザのGoogleDriveのルートフォルダ配下のファイル&フォルダが表示されるはず。
アクセストークンはセッションに保存しているので、セッションが持続されている限りは、再度承認を取る必要はないはず。アクセストークンの有効期限が切れた場合、リフレッシュトークンを利用して、再度アクセストークンを取得します

簡単なコードでした~

-PG, PHP

Copyright© フルスタックエンジニアを目指す , 2019 All Rights Reserved Powered by STINGER.