Technical Articles
SAP Cloud Platform Open ConnectorsでChatworkのカスタムコネクタを作成する
今回はSAP Cloud Platform Open Connectorsのカスタムコネクタの作成方法について紹介します。
Chatwork APIを題材とし、Open Connectorsの簡単な概要、カスタムコネクタを利用するポイントについて解説します。
SAP Cloud Platform Open Connectorsとは?
Open Connectorsとは、サードパーティーアプリケーションとSAP Cloud Platformを繋ぐAPIインテグレーションプラットフォームです。
Salesforce、Gmail、Slack、Dropboxなど、150を超えるサードパーティーアプリケーションとSAP CPを簡単に接続することが可能になります。
また、Open ConnectorsのFormula機能では、サードパーティーアプリケーションで発生するイベントを監視してワークフローを組むことができます。これは一般向けサービスのIFTTTと似ています。
Cloud ElementsとSAPが提携して提供されているサービスであり、現時点でのドキュメントはCloud Elements本家の方が充実しているように思います。
カスタムコネクタとは?
Open Connectorsが標準サポートしていないサードパーティーアプリケーションにアクセス出来るように自作したコネクタのことを指します。
カスタムコネクタを作成することで、150の標準コネクタ以外のサードパーティーアプリケーションとも接続できるようになります。
例えばChatworkの場合、標準コネクタが用意されていないため、カスタムコネクタを作成することで、Open Connectors経由でアクセス可能になります。
なお、標準コネクタの利用手順につきましては、SAPのすみっこ様のブログをご参照ください。
SAP Cloud Platform Open ConnectorsでSlackと連携してみた
Chatworkとは?
Chatworkは日本発のチャットコミュニケーションツールです。Slackとよく似ています。
所要時間
- 1時間
手順の概要
- ChatworkのAPI仕様の確認
ChatworkのAPIを確認し、どの機能を呼び出すことにするかを決めます。 - Chatwork APIトークンの発行
- カスタムコネクタの作成
コネクタを作成し、Chatwork APIへ繋ぎこむ設定を行います。 - コネクタリソースの追加
Chatworkの特定機能を呼び出すためのURIを作成します。 - コネクタインスタンスの作成
- テスト
1.ChatworkのAPI仕様の確認
ChatworkのAPIドキュメントにアクセスし、仕様を確認します。
幸運なことに、ChatworkにはWeb APIが用意されています。
Web APIさえ用意されていれば、カスタムコネクタを作成することができます。
確認すべきポイント
- APIエンドポイントURL
- 認証方式
- APIの決め事
上記について、Chatwork APIの場合の例を表に示します。
エンドポイントURL | https://api.chatwork.com/v2 |
認証方式 | Chatwork内のメニューより、APIトークンを発行する。 |
APIの決め事 | HTTPリクエストヘッダにX-ChatWorkTokenというキーでAPIトークンを渡す。 |
今回は、Chatworkの自分のプロフィールを確認する機能を、Open Connectorsから呼び出せるようにしてみます。
2.Chatwork APIトークンの発行
Chatworkにログインし、右上の自分のアイコンまたはユーザ名をクリックし、『API設定』を選択します。
Chatworkのログインパスワードを入力し、表示ボタンをクリックするとAPIトークンが表示されますので、控えておきましょう。
3.カスタムコネクタの作成
Open Connectorsのサービス -> Connectorsにアクセスし、『Build a new Connector』をクリックします。
Createボタンをクリック
コネクタ名称やカテゴリ、認証方式などを設定します。
カテゴリは必須ではないので設定する必要はないのですが、Slackに倣って『Collaboration』と設定しました。
また、認証方式は『Custom』に設定しております。保存して、セットアップを行います。
まず、APIエンドポイントURLを設定します。
ページネーションのオプションについては、Chatworkは未対応のようなので空欄にしております。(Slackはページネーション対応)
Configurationでは、下図のように『Chatwork API Token』という項目を追加しました。
Requiredがtrueで、Hide UIをfalseに設定していますね。
どのような意味かというと、コネクタインスタンスの新規作成時にTokenの入力が必須(Required=true)で、尚且つ画面入力項目(Hide UI=false)であるということです。
Parametersでは、ChatworkのWeb APIへの引数を設定します。
赤枠内の設定を追加しております。
HTTPリクエストヘッダにX-ChatWorkTokenというキーで、先ほど設定した『Chatwork API Token』を渡すための設定です。
画面右上のSaveボタンをクリックします。
参考:パラメータ設定をより深く学びたい場合、Cloud Elementsの下記ドキュメントを参考にして下さい。
Element Builder Configuration and Parameters
4.コネクタリソースの追加
次に、コネクタのURIを作成していきます。
(再掲)今回は、プロフィール情報の取得機能を呼び出します。
以上でカスタムコネクタの作成が出来ました。
5.コネクタインスタンスの作成
コネクタのAuthenticateをクリックします。
インスタンス名はmyChatworkとしました。
Chatworkで発行したAPIトークンを入力し、Create Instanceボタンをクリックします。
6.テスト
コネクタインスタンスの一覧画面より、myChatworkのAPI Docsボタンをクリックします。
手順4で作成したコネクタリソース /me を展開し、Try it outボタンをクリックします。
Executeボタンをクリック
チャットワークのプロフィール情報が返ってきました。
まとめ
今回はプロフィール情報の取得機能しか呼び出しておりませんが、チャット内容の取得や投稿機能についても、同様にコネクタリソースの設定を行うことで、Open Connectors経由で呼び出せるようになります。
是非、この記事を参考にカスタムコネクタを作成してみて下さい。
(例えば、SORACOM APIのカスタムコネクタなど)
Open Connectorsについては、いずれまた記事を書きたいと思います。
- カスタムコネクタでのOAuth2.0の設定方法
- Formula機能の使い方
- 標準コネクタのリソース拡張の方法