からめもぶろぐ。

SharePoint が得意なフレンズなんだね!すごーい!

OAuth

Azure Active Directory のアプリの「Web アプリ/API」と「ネイティブ」の違いについて

Azure Active Directory でアプリケーション登録をするときに「Web アプリ/API」と「ネイティブ」を選択できますが、何が違うのか忘れてしまうので、自分用メモで残しておきます。一般的なアプリの種類と使用するフローについての説明はこちらがわかりやすい…

Microsoft Graph で会議室の予定表を取得する

元ネタGraph API 会議室取得の失敗について結構よくある話で OAuth のハマりどころの最たるものが「アプリケーションにアクセス許可を与えたのにデータが取れない」となることなのです。 上記の「Calendars.ReadWrite.Shared を付けたのに会議室の情報が取れ…

OAuth + Office 365 API ではじめるアプリ開発を公開しました

話す機会がないのでスライドだけ。 Azure Active Directory での OAuth の使い方をまとめました。v1.0 と v2.0 のエンドポイントが混在している状況は開発者の混乱の元になるので改善を期待したいところです。(2017/09/06 追記) Resource Owner Password Cre…

SharePoint Framework (SPFx) から Office 365 API を叩いてみる

SharePoint Framework (SPFx) の Web パーツでは新しいエクスペリエンスが採用され、これまでの SharePoint アドインで使用されていた iframe が廃止されました。SharePoint アドインでは OAuth2 の暗黙的な許可フローでうまいこと iframe 内でリダイレクト…

SharePoint Online の Excel Services (SOAP API) を叩いてみる

Excel Services を使うと SharePoint のドキュメント ライブラリに保存されている Excel ファイルを直接編集することができます。プログラムから Excel を編集というと Open XML SDK を使うか、サードパーティー製のコンポーネントを使うかという話になるの…

SharePoint Online の REST API を PowerShell から叩いてみる

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com前回の記事で「REST API を Invoke-RestMethod で叩けるかも」と丸投げなことを書いてしまったので、実際にやってみたいと思います。blog.karamem0.jp OAuth についておさらい Share…

SharePoint Online から Dynamics CRM Online の Web API を実行する

SharePoint ホスト型アドインを使用して SharePoint Online から Dynamics CRM Online の Web API を実行します。これまでは SharePoint Online から Dynamics CRM Online に接続するにはプロキシ サーバー経由で実行する方法しかなかったのですが*1、Dynami…

SharePoint Online の REST API を UWP から実行する

UWP から SharePoint Online REST API を実行するサンプルを作りました。出退勤の打刻を SharePoint リストに送るプログラムです。OAuth を使っているので認証から API 実行までの流れが確認できると思います。なお Access Token の更新には対応していません…

続・SharePoint 2013 の REST API を対話なしで実行する

前回の記事の続きです。blog.karamem0.jp日本マイクロソフトの松崎剛さんの decode:2016 でのセッションで、対話なしで Access Token を取得する方法として証明書を使う方法があるということを聞いたので、探してみたらズバリの記事がありました。blogs.msdn…

SharePoint Online の REST API を対話なしで実行する

SharePoint 2013 では REST API が使用できるのですが、MSDN ではプロバイダー ホスト型 SharePoint アドインから OAuth で使用する場合の説明がほとんどです。例えば、バッチ プログラムのような、特定のユーザーを指定して対話なしでアプリケーションを実…