【2016年版】PHPでGoogle Cloud PlatformのAPIを使う
最近、注目されてきているGoogle Cloud Platform(GCP)。
簡単に言うとAWSのGoogle版。
東京リージョンも準備されて、日本語ドキュメントもだいぶ充実してきました。
ただ、いざ、PHPでAPIを使おうと思ったら、
情報が古い!そして、日本語で書かれているものが見つからない!
ということで、
PHPでGoogle Cloud PlatformのAPIを使う方法をご紹介します。
Google Cloud PHP Clientのサポート範囲
・Google BigQuery
・Google Stackdriver Logging
・Google Translate
・Google Cloud Datastore
・Google Cloud Natural Language
・Google Cloud Pub/Sub
・Google Cloud Speech
・Google Cloud Storage
・Google Cloud Vision
上記に載っていないサービスについては、こちらのAPIを見てみてください。
https://github.com/google/google-api-php-client
インストール方法
composerを使います。
1 |
composer require google/cloud |
もし、フレームワークに導入したくて、composerを使える場合は、
こんな感じです。
composer.jsonの”require”に以下のように追加。
1 2 3 |
"require": { "google/cloud": "dev-master" }, |
以下のコマンドを叩く。
1 2 |
php composer.phar self-update php composer.phar update |
以上でインストールは完了です!
サービスアカウントの発行
GoogleのAPIを使用する際は、
APIキーであったり、サービスアカウントを設定する必要があります。
https://console.developers.google.com/projectselector/apis/credentials
にアクセス
GCPにログイン用のアカウントでログイン後、
プロジェクトの選択からGCPに登録しているプロジェクトを選択します。
ダッシュボードのAPIの欄に使用したいAPIがあるか確認する。
なければ、「APIを有効にする」ボタンから該当のAPIを有効にします。
左上のメニューから「IAMと管理」を選択
「サービスアカウント」で
「App Engine default service account」の鍵をjson形式で作成します。
jsonファイルの鍵がダウンロードされると思うので、
これを保存しておいてください。
APIを叩くときに使います。
サービスアカウントの発行は、これで完了です!
実際に使ってみる
phpのソースコードに以下を記述します。
1 2 3 4 5 6 |
use Google\Cloud\ServiceBuilder; $gcloud = new ServiceBuilder([ 'keyFilePath' => 'path/to/yourkey.json', // 先程のjsonファイルのパス 'projectId' => 'your-project-id' // プロジェクトのID ]); |
以上で各APIを呼び出す準備が出来ました。
以下が使用例です。
・BigQuery
1 2 3 4 5 |
$bigQuery = $gcloud->bigQuery(); // Get an instance of a previously created table. $dataset = $bigQuery->dataset('your_dataset'); $table = $dataset->table('your_table'); |
・Datastore
1 2 3 4 5 6 7 |
$datastore = $gcloud->datastore(); // Create an entity $bob = $datastore->entity('Person'); $bob['firstName'] = 'Bob'; $bob['email'] = 'bob@example.com'; $datastore->insert($bob); |
・Storage
1 2 3 4 5 6 7 8 |
$storage = $gcloud->storage(); $bucket = $storage->bucket('my_bucket'); // Upload a file to the bucket. $bucket->upload( fopen('/data/file.txt', 'r') ); |
各APIの詳細やその他のAPIについては、以下をご参照ください。
http://googlecloudplatform.github.io/google-cloud-php/#/
まとめ
・PHP用のAPIは、githubに公開されています
・APIの使用にあたっては、あらかじめサービスアカウントを発行しましょう
・数行のコードで簡単に使えます
以上です!
デミ
最新記事 by デミ (全て見る)
- 【20分で完了】MacにDocker for Macのインストール - 2017/02/02
- 【2017年版】Web接客ツール9社を比較してみた - 2017/01/26
- 【昼休み中に完了!】Macで最新Ruby、Railsのインストールから画面表示まで - 2017/01/19