ボタン一つでネクストエンジンAPIを試す

## はじめに

これは[Hamee Advent Calendar 2015](http://qiita.com/advent-calendar/2015/hamee)の9日目の記事です。

Hameeが開発・運用している[ネクストエンジン](http://next-engine.net/)はAPIを公開しており、ネクストエンジン上で動くアプリケーションを開発することが可能です。

ただ、アプリを作るためのサーバーは自前で用意する必要があり、またお手軽にAPIを試す環境も無いのが現状です。そこで、Herokuを使ってボタン一つで簡単にネクストエンジンAPIを試せる環境を作ろうというのがこの記事の主旨です。

#### Developer Networkの紹介（2017-04-25追記）

ネクストエンジンには [Developer Network](https://developer.next-engine.com) (略してDevNet）という開発者向けコミュニティサイトがあります。ここには [開発ガイド](https://developer.next-engine.com/guide) 、 [APIリファレンス](https://developer.next-engine.com/api) 、チュートリアルなど開発の役に立つ情報が盛りだくさんです。また、開発者同士でディスカッションする [コミュニティ](https://developer.next-engine.com/forum/active) もありますので、わからないことがあれば [こちら](https://developer.next-engine.com/forum/active) に質問を投稿してください。

ネクストエンジン Developer Networkwork
https://developer.next-engine.com/

## 必要なもの

- ネクストエンジンのアカウント
- Herokuのアカウント

## ネクストエンジン

何はともあれネクストエンジンのアカウントがなければ始まりません。契約・アプリの購入・公開をしなければ無料で利用可能ですのでアカウントを取得しましょう。

- [ネクストエンジンID発行(無料)](https://base.next-engine.org/account/)

## [Heroku](https://www.heroku.com/)

PaaSとしては世界で最も有名なサービスのひとつ

今回はAPIを動かすサーバー環境としてHerokuを利用します。といっても必要なのは無料で取得できるアカウントだけです。英語のサイトですががんばってアカウント発行をしてください。

[Heroku SignUp](https://signup.heroku.com)

## Herokuの設定

- githubの[asflash8/ne_api_explorer](https://github.com/asflash8/ne_api_explorer)にある「Deploy to Heroku」ボタンを押す

![スクリーンショット 2015-12-09 16.46.45.png](https://qiita-image-store.s3.amazonaws.com/0/1823/6dfcc822-1a18-87f2-6a8e-c3eed71ceaac.png)

- Herokuにログインしていればアプリケーション名の入力画面が表示されます任意で入力してください
    - ここで入力した名前がアプリケーションのURLの一部になります。空の場合はランダムな値が入ります 
    - Herokuにログインしていない場合はログインを、アカウントを作成していない場合は作成してください 
- 「Deploy for Free」ボタンを押す
    - これでアプリケーションの作成が始まります。数分で完了するのでしばらくお待ちください


![スクリーンショット 2015-12-09 16.46.09.png](https://qiita-image-store.s3.amazonaws.com/0/1823/93b6c3fc-e473-be65-7bc4-084623e489af.png)

- 「View」ボタンを押すとアプリケーションが開きます。URLをメモしておいてください（後から参照可能です）

## ネクストエンジンアプリの設定

- 今度はネクストエンジンで「アプリを作る」の操作を行います
    - [アプリを作る（基本タブ）](http://manual.next-e.jp/screen/make/new/tabb1/)を参考に「メイン機能と連携するアプリ」「特定の企業に公開」を選択してアプリを作成してください
- 登録すると「API」タブが表示されますので、テスト環境設定の「RedirectURI」に「作成したアプリのURL+/authentication」を登録してください
    - 例：作成したアプリのURLが「 https://next-engine-api-playground.heroku-app.com 」だとすると「 https://next-engine-api-playground.heroku-app.com/authentication 」を登録
    - 登録するとクライアントID、クライアントシークレットが表示されますので、メモしておいてください（いつでも参照可能です）

![スクリーンショット 2015-12-09 16.58.30.png](https://qiita-image-store.s3.amazonaws.com/0/1823/6d9d85de-11eb-0866-5a9f-7aa958e24106.png)

- 同じ画面のアクセス情報をすべて「許可する」にして保存するボタンをおしてください

![スクリーンショット 2015-12-09 16.58.42.png](https://qiita-image-store.s3.amazonaws.com/0/1823/49fa2b7d-8a32-0797-529d-358d04318506.png)


## アプリケーションを起動する

- ネクストエンジンの画面下の方にいま作成したアプリの起動アイコンが表示されていますのでクリック
- アプリケーションを起動すると「クライアントID」「クライアントシークレット」を入力する画面が表示されますので、先ほどメモした値をそれぞれ入力し「送信」ボタンを押す
- 以上で準備完了です。APIのリクエストを行う画面が表示されますので呼び出したいエンドポイント（対象）を選択し、必要なフィールド、検索条件などのパラメータを付与して「実行」ボタンを押すと「結果」の下にAPIの取得結果が表示されます

![スクリーンショット 2015-12-09 22.05.36.png](https://qiita-image-store.s3.amazonaws.com/0/1823/1e7f7401-978f-15f1-1cbe-e9afb500b24b.png)

## まとめとお詫び

いかがでしたでしょうか。アカウントとアプリの作成の手間はありますが、それ以外はボタン一つでネクストエンジンAPIをお試しできる環境が手に入ります。これをきっかけにネクストエンジン上でアプリを作成してみてもらえるととても喜びます。

なお、アプリのデザインや機能がいろいろと足りないので、今後充実させていく予定です。プルリクエストも歓迎ですので（お手柔らかに）よろしくお願いします！

## 注意事項

- Herokuはプランの変更や利用時間、アドオンと呼ばれる外部サービス連携を使うと有料になる場合があります。詳しくは[こちら](https://www.heroku.com/pricing)
- ネクストエンジンも契約およびアプリを購入または本番環境へ公開すると有料になります

## 参考情報

- [Heroku に Rails アプリをアップ](http://railsgirls.jp/heroku/)
- [Heroku Buttonを試してみた](http://umi-uyura.hatenablog.com/entry/2014/08/09/234132)