5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

IBM Blumixを使って、myThings Developersのチュートリアルを実施する(PHP)

Last updated at Posted at 2016-10-19

myThings DevelopersのチュートリアルをIBM BluemixのCloudFoundryを使いながら進めてみよう。という記事です。

myThings Developersとは

myThings Developersは、さまざまなサービス、デバイスのAPIを共通のI/Fで束ねるサービス連携プラットフォームです。

myThings Developersを活用することで、TwitterやFacebookなどのWebサービスを始め、FitbitやJawboneUPなどのウェアラブルデバイス、BOCCOのようなロボット、異なるメーカーが提供しているサービスやデバイスのAPIを共通のI/Fで利用することができ、開発負担・API学習コストを下げることことができます。

myThingsアプリという同名のスマホアプリもありますが、それとの違いはこちらを参照してください。
http://qiita.com/yamamotomanabu/items/c10e0f05d477a25ff80e

必要なもの

  • Yahoo! JAPAN ID
  • IBM Bluemixのアカウント

公式チュートリアルには、「プログラムの実行環境(サーバー)」が必要とあるのですが、これにIBM Bluemixを利用します。

チュートリアルの内容

ゴール

e786da5c6147baa777e7.png
公式チュートリアルでは、myThings Developersのカスタムトリガーという機能を使って、Twitterと連携させる手順が記載されています。

それではここからは実際にmyThings Developersに触ってみます。

ステップ1

ステップ1ではサーバは利用しないので公式チュートリアルをそのまま実施しましょう。

ステップ2

ステップ2以降はサーバが必要になってくるので、公式チュートリアルを進める前にこちらの手順を済ませてサーバの準備を行います。

####アプリ作成
PHPのテンプレートからアプリを作成
b4361b0ae9e1feaf4739.png

fec32d032a88f169c882.png

コマンドラインインターフェースのインストール

手順に従いダウンロード&インストール
c61258f05254a3858af5.png

④の実行時に

exec: "cf": executable file not found in $PATH

と出力された場合は、以下のようにcfにパスを通してください

export PATH=$PATH:(cf-cliを解凍したパス)

サンプルコードをデプロイ

あとは公式チュートリアルに戻って、setting_sample.phpとtrigger_sample.phpを作成し、Bluemixにデプロイしましょう。

デプロイする際には以下のようにチュートリアル用のディレクトリ(ここでは"myThings-tutorial")を作成して、CloudFoundryにおくとファイル管理しやすいです。

$ ls -al ./myThings-tutorial
total **
**********  * **  **   204 10 22 10:25 .
**********  * **  **   238 10 22 10:25 ..
**********  * **  **  5301 10 20 02:42 setting_sample.php
**********  * **  **  5570 10 20 02:42 trigger_sample.php

$ cd ./myThings-tutorial
$ cf push <Bluemixのアプリケーション名>

以降はそのまま公式チュートリアルに従ってください。また、Twitterだけでなく色々なサービスとの連携を試してみて頂ければと思います。

ステップ3

ステップ2のサンプルコードは、「myThings Developersにユーザー登録した人(Yahoo! JAPAN ID)」と「Bluemixで作成したホストにアクセスした人(アクセスしたブラウザでログインされているYahoo! JAPAN ID)」が同じする人であることが前提の内容になっています。

※違う人がアクセスすると↓こうなります。
ca254922582d2b48337f.png

Composerの利用

今のままでは不特定多数の方にアクセスしてもらえないので、ステップ3ではoAuthの実装を行います。チュートリアルにある通り「Yahoo! ID連携 SDK for PHP」というSDKを導入してみます。
IBM Bluemix(CloudFoundry)でもComposerを利用することができます。アプリケーションのrootにcomposer.jsonを置くことでcf push時に各種ライブラリをインストールしてくれます。

$ ls -al ./myThings-tutorial
total **
**********  * **  **   204 10 22 10:25 .
**********  * **  **   238 10 22 10:25 ..
**********  * **  **   223 10 22 17:49 composer.json
**********  * **  **  5301 10 20 02:42 setting_sample.php←STEP2の名残り。もう消して良いです
**********  * **  **  5570 10 20 02:42 trigger_sample.php←←STEP2の名残り。もう消して良いです

$ cd ./myThings-tutorial
$ cf push <Bluemixのアプリケーション名>

-こんな感じの実行ログが流れます-
(省略)
Loading composer repositories with package information
Updating dependencies                                           
  - Installing yahoojapan/yconnect-php-sdk (dev-master 251ade9)
    Cloning 251ade9e2ee0d61ba539e13d85f3a9ab5911e25c
Writing lock file
(省略)

この「Yahoo! ID連携 SDK for PHP」の導入さえIBM Bluemix(CloudFoundry)に合わせたやり方に読み替えれば、あとは公式チュートリアルの内容通り、index.php、callback.php、geturl.php、setting_callback.php、customtrigger.phpといったファイルをサンプルコードそのままに作成して、動作確認を進めてください。

一点注意としては、以下のような設定例がたびたび出てくるのですが、http://www.example.com は必ずご自身の環境向けに書き換えてください。Bluemixであれば、http://(人それぞれ).mybluemix.net のようになるはずです。
dde15fc3d7135144dec2.png

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?