からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

Azure AD のアプリケーションをコマンド ラインから作成する

今まで Azure AD のアプリケーションはいつも Azure Portal から作っていたのですが、展開するときにコード化されていないと困るので、やる方法をまとめてみました。いくつか方法があって苦労したので雑にまとめておきます。 使ってみた AzureAD モジュール …

Microsoft Teams Toolkit で TypeScript を使えるようにする

前回の記事では Microsoft Teams Toolkit を使ってアプリを実行するまでの手順を確認しました。blog.karamem0.dev記事中にも説明した通り、Microsoft Teams Toolkit の既定の言語は JavaScript です。しかし、モダン開発を行う上で TypeScript を使うことは…

Microsoft Teams Toolkit を使って Teams アプリの開発環境を構築する

Teams アプリの開発をこれから始めるというときに環境構築のための機能がいくつか提供されています。 Yeoman ジェネレーター (Yo teams) Microsoft Teams Toolkit Yeoman ジェネレーターについては Microsoft Learn で使用方法が説明されています。docs.micr…

Microsoft 365 に設定したプロフィール画像を削除する

Microsoft 365 に設定したプロフィール画像を削除したいという要望があったのですが、なかなか一筋縄ではいかなかったので備忘録としてメモしておきます。なお結論としては、現状としては GUI からは削除することはできず、PowerShell を使って削除する必要…

Fluent UI が 2 種類あってややこしいので整理してみる

Fluent UI はマイクロソフトが開発している React 向けの UI フレームワークです。Microsoft 365 に統合された UI を表現できるため、Microsoft 365 開発には必須のフレームワークなのですが、残念なことに Fluent UI と名前の付くフレームワークが 2 種類あ…

Microsoft 365 開発コミュニティの 1 年を振り返ってみる 2020

この記事は「Office 365 Advent Calendar 2020」に参加しています。adventar.org今年の Microsoft 365 開発についてコミュニティの状況を振り返ってみようと思います。すべての出来事を把握しているわけではないので、ゆるゆるで行きたいと思いますが、ご承…

Microsoft Teams の個人用タブで全画面表示する

この記事は「Office 365 Advent Calendar 2020」に参加しています。adventar.orgMicrosoft Teams のカスタム アプリで個人用タブを作成したときに、ページの上部にタブが表示されます。しかしユーザー体験としては全画面で表示してほしい場合があります。こ…

SharePoint REST API を使うときの 5,000 件問題について振り返ってみる

みんな大好き SharePoint の 5,000 件問題ですが、いつも結局のところを忘れてしまうので、備忘録として整理しておきます。 先にこちらの記事を見ておくといろいろ参考になります。idea.tostring.jp 準備 SharePoint に連番と色とサイズの列を持つ簡単なリス…

Power Apps で親子関係のある入力フォームを作ってみる

親子関係のあるような複雑なデータを編集する場合は、できればモデル駆動型アプリを使っていただくのが正解だとは思うのですが、いろいろな都合により (主にライセンスの関係で) Microsoft Dataverse を使うことができないという場合もあるでしょう。そこで …

Global Microsoft 365 Developer Bootcamp 2020 Tokyo に登壇しました

2020/11/09 および 2020/11/10 に開催された Global Microsoft 365 Developer Bootcamp 2020 Tokyo で Microsoft Teams 開発のハンズオン担当として登壇しました。connpass.com今回ははじめてのオンラインでのハンズオン イベントということで不慣れな点も多…

Microsoft Teams の Power Apps からメッセージを投稿してみる

前回の記事では Param("hostClientType") を使って Microsoft Teams の実行されている環境を取得しました。blog.karamem0.devMicrosoft Teams から Power Apps には他にも情報が取得できるので、サンプルとして、現在表示されているチームとチャネルの情報を…

Microsoft Teams の Power Apps でアプリがどの環境で実行されているのかを判断する

Project Oakdale によって Microsoft Teams で Power Apps を作成することができるようになりましたが、例えば特定のユーザーとのチャットにリンクするなど、Power Apps から Microsoft Teams の機能を呼び出したいことがあると思います。これは Microsoft T…

SPFxCalendar 1.5.3 を公開しました

SPFxCalendar 1.5.3 を公開しました。SPFxCalendar はモダン UI で予定表リストをカレンダー表示するための Web パーツです。github.com変更点は以下の通りです。 イベントの登録および編集がダイアログ表示になりました。 繰り返しイベントの登録ができるよ…

Power Apps の Office365Users.RelevantPeople 関数が結果を 10 件しか結果を返してくれない

Power Apps の Office 365 ユーザー コネクタにはユーザーに関連する人物をサジェストしてくれる RelevantPeople という関数があります。docs.microsoft.comしかしこの関数ですが、結果を 10 件しか返してくれません。その理由は、RelevantPeople 関数は Mic…

Power Automate で CSV を保存したときにコンテンツが文字化けする

Power Automate で CSV を作成して OneDrive for Business などに保存するフローを作ったときに、CSV のコンテンツに日本語が含まれると Excel で開いたときに文字化けしてしまいます。たとえば、以下のような JSON を CSV に変換して OneDrive for Business…

Capreze 1.4.0 を公開しました

Capreze 1.4.0 を公開しました。 Capreze は画面キャプチャ用のウィンドウ リサイズ ツールです。ウィンドウを正確なサイズにリサイズしてくれます。github.com1.4.0 では指定したウィンドウの現在のサイズを表示できるようになりました。

SharePoint を使ったバッチ プログラムの認証/承認がなぜこんなにややこしいのか考えてみる

SharePoint を使ったバッチ プログラム開発、簡単なものでは手元で実行する簡単なデータ投入ツールだったり、複雑なものになると Azure Functions や Azure Automation を使ってやるものだったりすることがありますが、いずれにしてもこうした無人化されたプ…

Office 365 管理 API を使って SharePoint Online の監査ログを取得する

いままでずっと SharePoint Online の監査ログの生データは取得できないと思っていたのですが、実は Office 365 管理 API というものを使えば取得できるのだそうです。Office 365 管理 API は SharePoint、Exchange、Teams、Power Platform などのさまざまな…

Power Apps で複数選択可能なコンボ ボックスでフィルターをする

Power Apps のコンボ ボックスは複数の値を選択することができますが、これを使って複数の値でフィルターをしたいと思いました。具体的には以下の感じです。初期状態は何も選択されていないのですべてが表示されます。コンボ ボックスで複数の値を選択すると…

第 1 回 Japan M365 Dev User Group 勉強会を開催しました

2020/08/19 に第 1 回 Japan M365 Dev User Group 勉強会を開催しました。Japan M365 Dev User Group は今年の 5 月に立ち上げた Microsoft 365 技術者向けのコミュニティで、今回がはじめての開催となります。jpm365dev.connpass.com今回のテーマは「Micros…

SharePoint Online でダウンロードを禁止する方法まとめ

SharePoint Online を使っていると「ダウンロードを禁止したい」というご要望を聞くことがよくあります。個人的には、システムで制限するよりも、そうさせない組織づくりをするほうが大事だと思うのですが、そうはいっても要望は要望としてあるので、いくつ…

.NET ラボ勉強会 2020 年 7 月に登壇しました

2020/07/25 に行われた .NET ラボ勉強会 2020 年 7 月に「Azure AD でセキュリティ保護された Web アプリケーションで Microsoft Graph を使用する」という内容で登壇しました。dotnetlab.connpass.com当日のスライドはこちら。セッションは de:code 2020 の…

これが私のおすすめリモート開発事例 by Startup/MVP - MSTechNight #11 に登壇しました

2020/07/20 に開催された Microsoft Open Tech Night 主催の MSTechNight #11 に「Microsoft Teams と Azure DevOps でリモート スクラム開発を実現する」という内容で登壇しました。msdevjp.connpass.comお気づきの方はたぶんいらっしゃらないと思いますが…

de:code 夏まつり ~よりコミュニティを楽しくするためのコミュニティのすすめ #3 に登壇しました

2020/07/08 に行われた Microsoft Open Tech Night 主催の de:code 夏まつり ~よりコミュニティを楽しくするためのコミュニティのすすめ #3 に Microsoft 365 開発者コミュニティの代表として登壇しました。今回の登壇に関しては今年の 5 月に立ち上げた Ja…

.NET Standard に対応した CSOM で注意するべき点について

少し前の話題になってしまいますが、ついに CSOM が .NET Standard 2.0 に対応したとアナウンスがありました。developer.microsoft.com.NET Standard 1.0 がリリースされたのが 2016 年、.NET Standard 2.0 がリリースされたのが 2017 年ということなので、…

Power Automate と Power BI を使って Fitbit の睡眠データをビジュアル化する

睡眠の健康状態を測るために Fitbit を使い始めて 1 年以上になります。Fitbit では睡眠ステージの推移などある程度のグラフはアプリで見られるのですが、睡眠中に起きた回数 (Fitbit によると健康な人でも 1 回の睡眠で 10~30 回は起きているそうです) を…

Power Automate と Adaptive Cards で勤怠連絡アプリを作ってみる

Microsoft Teams と Power Automate を Adaptive Cards で連携させてみたかったので勉強がてら勤怠連絡アプリを作ってみました。全体像はこんな感じ。毎日 9 時にタイマーで起動して Microsoft Teams のチャットに Adaptive Cards を投稿し応答の結果を Exce…

Microsoft Teams でアプリ バーに表示されるアプリのピン留めを組織で固定する

Microsoft Teams の左側にあるアプリ バーは個人で任意のアプリをピン留めすることができますが、組織として特定のアプリを使ってもらいたい場合、ポリシーとして組織全体または任意のユーザーに対して展開することができます。これは Microsoft Teams 管理…

SharePoint Framework で共通のプロパティを利用する

SharePoint Framework ではテナントまたはサイト コレクション単位で共通の読み取り専用のプロパティを使用することができます。docs.microsoft.com値の設定は Office 365 CLI または PnP PowerShell を使って行うことができます。SharePoint Framework では…

SPClientCore 3.10.0 を公開しました

SPClientCore 3.10.0 を公開しました。SPClientCore は PowerShell Core 向けの SharePoint Online 管理モジュールです。www.powershellgallery.comドライブおよびクライアント コンポーネントのプロパティに関するコマンドレットを追加しました。 ドライブ…