Office 365 パワーユーザー向け
RESTAPI マスターへの道
Road to the REST API NINJA
太田 浩史
Office Apps and Services – Microsoft MVP
Office 365 パワーユーザー向け REST API マスターへの道 p. 1
2.
自己紹介
太田 浩史 (おおたひろふみ)
• 2008 年ごろから、SharePoint を中心に活動しています。
• 自社やお客様の Office 365 活用のご支援もしています。
• ちょっとした工夫や役立ちそうな小ネタが好きです。
Office 365 パワーユーザー向け REST API マスターへの道 p. 2
Microsoft MVP
2013 - 2014 SharePoint Server
2015 - 2018 Office Servers and Services
2018 – 2019 Office Apps & Services
www.slideshare.net/hirofumi_ota
idea.tostring.jp
ブログとか資料とかソーシャルとか
twitter.com/hrfmjp
www.facebook.com/idea.tostring.jp
3.
ああ…
Office 365 パワーユーザー向けREST API マスターへの道 p. 3
Microsoft Flow とか PowerApps とか
楽しそうだけど
REST API とか JSON とか言うじゃない?
サーバーさんを怒らせないために
Office 365 パワーユーザー向けREST API マスターへの道 p. 11
• しっかりと “ルール” を覚えておきましょう
メソッド
リクエストヘッダー
リクエストボディー
宛先 リソース https://idea.tostring.jp/image.png
GET
User-agent: Mozilla/5.0
Accept: */*
いろいろ
12.
メソッド
Office 365 パワーユーザー向けREST API マスターへの道 p. 12
• メソッドは次のあたりを知っておけば良いです。
メソッド 意味
GET サーバー上のデータやファイルが欲しい
POST サーバーにデータやファイルを送りたい
PUT サーバーのデータやファイルを置き換えたい
DELETE サーバーのデータやファイルを削除したい
13.
リクエストヘッダー
Office 365 パワーユーザー向けREST API マスターへの道 p. 13
• リクエストヘッダーは次のあたりを知っておけば良いです。
ヘッダー 意味
User-Agent こっちのブラウザの種類など
Accept どんな種類のデータが欲しいか
Authorization 認可を受けるための情報とか
Content-Type こっちからデータを送る場合のデータの種類
14.
覚える必要はありません
Office 365 パワーユーザー向けREST API マスターへの道 p. 14
• まず確実にリファレンスに書いてありマス。
• kintone API のリファレンスを見てみます(わかりやすい)
https://developer.cybozu.io/hc/ja/categories/200147600-kintone-API
– Kintone REST API の共通仕様
– レコードの取得
– レコードの登録
– レコードの更新
– レコードの削除
15.
kintone REST APIの共通仕様
Office 365 パワーユーザー向け REST API マスターへの道 p. 15
• どんなリクエストヘッダーが必要か
– 認証まわり
– 要求に応じて変わるあたり
16.
レコードの登録
Office 365 パワーユーザー向けREST API マスターへの道 p. 16
• どんな要求をする必要があるか
– メソッド
– エンドポイント/リソース
– リクエスト ボディ
ほらでたよ…
JSON
17.
Let’s Practice
Office 365パワーユーザー向け REST API マスターへの道 p. 17
• 興味のあるサービスの REST API リファレンスを探してみよう
• REST API リファレンスから次の項目を読み取ってみよう
– メソッド
– エンドポイント
– リソース
– リクエスト ヘッダー
– リクエスト ボディ
18.
JSON
Office 365 パワーユーザー向けREST API マスターへの道 p. 18
• プログラムのコードのようにも見えますが、なにかしらの特別な
ものすごい処理を実行するものではありません
• データやその構造を表しているものです
• CSV や XML と役割は同じです
• ルールさえ覚えておけば簡単に読み書きできます
データの型
Office 365 パワーユーザー向けREST API マスターへの道 p. 22
データの型(種類) JSON での表し方
文字列 “name” : “Hirofumi”
数字 “age” : 18
True or False (Boolean) “Cool” : true
23.
実際に読んでみましょう
Office 365 パワーユーザー向けREST API マスターへの道 p. 23
• JSON のサンプルが記述されてあるリファレンスを探しましょう
• livedoor お天気 Web サービス仕様を見てみます
http://weather.livedoor.com/weather_hacks/webservice
• データの項目は何か?
• データの値は何か?
• 入れ子の項目は何か?
• 配列の項目は何か?
• 文字列型の項目、数字型の項目は何か?
24.
Let’s Practice
Office 365パワーユーザー向け REST API マスターへの道 p. 24
• 興味のあるサービスの REST API リファレンスを探してみよう
• サンプルの JSON があったら次の項目を読み取ってみよう
– データの項目
– データの値
– 入れ子の項目
– 配列の項目
– 文字列型の項目、数字型の項目
25.
Microsoft Flow +REST API + JSON
Office 365 パワーユーザー向け REST API マスターへの道 p. 25
• ボタンを押したら livedoor お天気 Web サービスから東京の天気を
取得して通知を受け取る
なにを設定するのか?
ヒント
東京の ID は 130010
まずは REST API を呼ぶところまで…
Microsoft Flow のJSON の解析アクション
Office 365 パワーユーザー向け REST API マスターへの道 p. 31
• REST API から返ってきた値を「サンプルのペイロードを使用して
スキーマを生成する」機能を利用してスキーマに変換
便利だけど上手く解析できない場合もある
Null が返ってくる時など(今回のパターン)
32.
Microsoft Flow のNotifications アクション
Office 365 パワーユーザー向け REST API マスターへの道 p. 32
• 解析された JSON の結果を Notifications アクションに渡す