読者です 読者をやめる 読者になる 読者になる

kazuakix の日記

Windows Phone とか好きです

Microsoft Graph でタスクを登録してみる

 最近、Office 365 アカウントで Microsoft To-Do が使えるようになった *1 ので、Outlook のタスクにいろいろ予定を入れているんですが、せっかくなので Microsoft Graph を使って API 経由での登録を試してみました。

Microsoft Graph について

 Microsoft Graph の概要を読むと、「Microsoft Graph は 1 つのエンドポイントを介して複数の API を Office 365 およびその他の Microsoft クラウド サービスから公開するもの」と紹介されています。
 

Graph エクスプローラーを試してみる

 まずは Graph エクスプローラー を使って Web から API を叩いてみます。

 developer.microsoft.com/ja-jp/graph/graph-explorer にアクセスして、Office 365 アカウント (または Microsoft アカウント) でサインイン

f:id:kazuakix:20170527112055p:plain
 

 結構、いろいろな権限を求められます。
f:id:kazuakix:20170527112411p:plain:w320
 今回使いたいタスクについても "Create, read, update and delete your tasks and projects (preview)" となっているので、このまま承諾します。
 

 最初から表示されている自分のプロファイルを表示するサンプルクエリを実行してみるのですが、要求は成功するものの、結果が表示されません。

f:id:kazuakix:20170527113035p:plain

 ブラウザを変えたりしてもダメだったので、英語版に切り替え (URL の ja-jp を en-us に切り替え) て実行してみるとあっさり成功しました。なんてこった...。

f:id:kazuakix:20170527113358p:plain

 他にも、GET や POST などのメソッドの切り替えや、v0.1, beta といったバージョンの切り替えなどもできるようです。日本語版頑張れ。
 

タスクの取得

 タスクはプレビュー扱いだったので、ドキュメントベータ参照の項から Outlook のタスクを探します。

f:id:kazuakix:20170527114857p:plain

 どうやら /outlook/tasks 以下にいろいろとあるようですね。

 早速、Graph エクスプローラーを beta に切り替えて https://graph.microsoft.com/beta/me/outlook/tasks を GET してみます。

f:id:kazuakix:20170527115304p:plain

これだけで、タスクの一覧が JSON で返って来ました。
 
 内容を見てみると、期限などのタイムゾーンが UTC として表示されています。これについてはリクエストヘッダに Prefer: outlook.timezone="Tokyo Standard Time" を追加することでタイムゾーンの指定ができるようです。

f:id:kazuakix:20170527115740p:plain
"JST" や "Japan Standard Time" ではなかったので、少し悩みました。
 

タスクの登録

 登録は同じ URL に対して JSON を POST します。先ほど取得した内容を参考にタイトルと期限だけを指定してみました。

{
    "subject": "散髪に行く",
    "dueDateTime": {
        "dateTime": "2017-05-28T00:00:00.0000000",
        "timeZone": "Tokyo Standard Time"
    },
}

f:id:kazuakix:20170527124747p:plain
 

登録成功後に一般的なスマートフォンを開くとこの通り。お手軽ですね。

f:id:kazuakix:20170527131555p:plain
 

*1:但しアプリからのみ

Office 365 のアカウントで Microsoft To-Do を使ってみる

連休が明けて Office 365 Admin Center を見てみると、To-Do Preview が使えるようになっていました。

f:id:kazuakix:20170508215715p:plain
 

早速有効化して todo.microsoft.com からサインインしてみます。
f:id:kazuakix:20170508220044p:plain

あれ? サインインできませんね...
f:id:kazuakix:20170508220056p:plain

でも、よく見ると 「 Web アプリでは職場または学校アカウントはまだサポートされていません」と書かれていました。
 
という訳でアプリをインストールしてみます。Microsoft To-Do は iOS, Android 用だけでなく、ちゃんと Windows Phone (Windows 10) 用のアプリがあります。素晴らしいですね。

f:id:kazuakix:20170508221030p:plain

アプリを使うと Office 365 のアカウントでもサインインできました。

f:id:kazuakix:20170508221142p:plain
 

試しに ToDo を入れてみます。

f:id:kazuakix:20170508221718p:plain
 

入力した内容は Outlook on the Web や Outlook とも同期しているようです。

f:id:kazuakix:20170508221404p:plain

f:id:kazuakix:20170508221627p:plain

これはなかなか便利そうですね。

Office 365 の優先受信トレイを有効にする

何気なく Outlook.com を開くと優先受信トレイが有効になっていました。

f:id:kazuakix:20170404222331p:plain:w500

僕の Office 365 は未だに低優先メール (Clutter) で頑張っているというのに...どういう事なのでしょうか? (ちなみに同じテナントの別ユーザーはとっくに優先受信トレイが使えるようになっています)
 

もしかして低優先メールを使っていると優先受信トレイの機能が有効にならないのでは? と思ってオプションを開いてみたところ...

あれ? オプションのレイアウトの中に「優先受信トレイ」の文字がありますね?

f:id:kazuakix:20170404215950p:plain:w500
 
設定してみると この通り。普通に有効になりました。これに気付かずに待ち続けていた僕って...

f:id:kazuakix:20170404215957p:plain:w500
 
優先受信トレイを設定すると、これまでの低優先メールは自動的にオフになってメニューからも非表示になるようです。元に戻したい場合は、一度優先受信トレイをオフにしてオプションを開きなおす必要があります。

f:id:kazuakix:20170404220007p:plain:w500
 
尚、優先受信トレイの設定は Outlook.com も共通でした。

f:id:kazuakix:20170404221441p:plain:w500

このあたりの設定や操作性が共通なのはいいですね。