からめもぶろぐ。

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

Application Registration Poral 終了のお知らせ

Azure AD 2.0 に対応したアプリケーションを登録するためのポータル サイトであった https://apps.dev.microsoft.com ですが、残念ながら終了となってしまうようです。現在ログインすると以下のようなメッセージが表示されます。 We will no longer support …

Capreze 1.1.0 をリリースしました

Capreze 1.1.0 をリリースしました。 github.com オフセットのサイズを指定できるようにしました。現状ほとんど意味はありません。あと内部的に不要なロジックを削除したりとか。 中身よりも AppVeyor を使って GitHub Releases に Artifacts をコピーするま…

Capreze 1.0.0 をリリースしました

スクリーンショットを取るときに事前にウィンドウサイズを変更して取ったりするのですが、Windows 10 の場合、既存のリサイズ ツールではちょうど指定したサイズでスクリーン ショットを取ることができず、仕方がないのでツールを作りました。github.comCapr…

New-SPOSite した直後に更新操作をしようとすると失敗することがある

SharePoint Online Management Shell を使って New-SPOSite したあとに、CSOM などで何らかの更新操作 (例えばサイト グループを作ったりするなど) をしようとするとエラーになることがあります。そもそも、SharePoint Online でのサイト コレクションの操作…

Powershell と CSOM で Geolocation 列に値を入れるときにちょっとハマったのでメモ

相変わらず PowerShell なんですけれども。Geolocation 列に値を入れる方法については以下にまとまっています。FieldGeolocationValue を使ってねということのようです。docs.microsoft.comそれでは実際にやってみます。 $item = New-Object Microsoft.Share…

platyPS で PowerShell ヘルプ ファイルを簡単に書く

PowerShell チームから提供されている platyPS というツールがあります。github.comざっくりいうと、既存のモジュールを読み込んで Markdown 形式のテンプレートを生成し、さらに Markdown ファイルを読み込んで PowerShell ヘルプ ファイル (dll-Help.xml) …

AppVeyor で PowerShell Core モジュールのバージョンを書き換える

こんな記事を書いてました。blog.karamem0.jpこれでもよかったのですが、せっかくなのでビルドするごとにバージョン番号を書き換えたいよね、ということで。AppVeyor にはビルド時にアセンブリ バージョンを書き換える機能が提供されています。.NET Framewor…

SharePoint Online Management Shell が PowerShell Gallery から取得できる件

以前にこんな記事を書きました。blog.karamem0.jpその後 SharePoint Online Management Shell については PowerShell Gallery からもインストールできるようになったようです。半年近く前の話なのに全然気付きませんした…。techcommunity.microsoft.comイン…

Binary Module (C#) でいい感じに Write-Verbose したい

この記事は「PowerShell Advent Calendar 2018」の参加記事です。 qiita.com ちなみに投稿が遅れたのではなく 16 日が埋まっていなかったので穴埋めしています。ここ重要! Write-Verbose について PowerShell では Verbose パラメーターを付けることでトレ…

PowerShell Core で Binary Module (C#) を開発するときの注意点について

この記事は「PowerShell Advent Calendar 2018」の参加記事です。qiita.comサンプルとして簡単な JSON を返すコマンドレットを持つモジュールを作成します。対象の PowerShell Core のバージョンは 6.1.0 です。 サンプル コード SampleModule.csproj <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netc</targetframework></propertygroup></project>…

Microsoft Graph の変更通知を Microsoft Flow で受け取る

Microsoft Graph は Webhook により変更通知を受け取ることができます。アクセス許可の内容から察するに、個人で使うためではなく、組織の管理のためのようなのですが *1、こういうものはだいたい Flow で受け取れるような気がするのでやってみました。今回…

Power BI でマトリックスを使わないでマトリックスを頑張ってみる

Power BI を使ってザ・ジャパニーズな帳票を実現するためのバッドノウハウです。 問題点 例として東京の平均気温をマトリックスにしてみます。行に年月、列に平均気温を 5 ℃刻みで指定します。はい、できました。しかし問題があります。「5 ℃未満」の列が左…

Microsoft Graph data connect を実行してみる

以下の記事の続きです。blog.karamem0.jp日本リージョンではできないことがわかったので North America で Office 365 と Azure のテナントを作りました。途中ストレージ アカウントの種類を間違えて (V1じゃないと駄目っぽい?) 試行錯誤したものの、頑張っ…

Global Office 365 Developer Bootcamp 2018 Japan に登壇しました

2018/10/27 に開催された Global Office 365 Developer Bootcamp 2018 Japan で Microsoft Graph のハンズオンの担当で登壇しました。connpass.com当日は資料や事前準備の不備があり申し訳ありませんでした。内容をコピペしたい場合は PDF は向かないですね……

Azure Active Directory の新しいアプリの登録 (プレビュー) が提供されたようです

Azure ポータルの Azure Active Directory に「アプリの登録 (プレビュー)」が追加されてました。一瞬「https://apps.dev.microsoft.com があるじゃん!」って思いましたが、あくまで v1 のアプリの登録の新しいバージョンですね。アクセス許可あたりはいま…

Azure Active Directory の OAuth v2.0 で Device Flow が使えるようになりました

すっかり情報を見落としていたのですが、MSAL.NET 2.2.0 が 2018/10/5 にリリースされ v2.0 で Device Flow がサポートされるようになりました。*1github.comUI を出せないアプリケーションでは (Password Credentials を使うという手もなくはないですが) こ…

Office 365 日本リージョンで Microsoft Graph data connect を実行するとエラーになる

ここ数日 Microsoft Graph data connect を試そうと思っていろいろやってみたのですがどうにもうまくいかないということで。現在 OfficeDev の GitHub リポジトリにはセットアップの手順とサンプルの ARM Template が公開されています。github.comまた micro…

Microsoft Graph でも SharePoint リスト アイテムの複数の値を持つ列が更新できない

SharePoint REST API の時代からですが複数の値を持つ列 (MultiChoice、UserMulti、LookupMulti) を更新できないという問題がありました。英語フォーラムの情報を見てもできるという情報もあったりできないという情報があったりして錯綜しているのですが、少…

Microsoft Ignite 2018 で Microsoft Graph のアップデートが発表されました

Microsoft Ignite 2018 でさまざまな発表がありましたが Microsoft Graph についてもアップデートがありました。詳細は Office 365 Blog で公開されています。developer.microsoft.com簡単にアップデートの内容を見ていきます。 Managed access to Microsoft…

SharePoint Framework 1.6 がリリースされました

2018/09/05 に SharePoint Framework 1.6 がリリースされました。developer.microsoft.com大きなアップデートとしては、SharePoint Framework 1.4.1 で追加された、Microsoft Graph (MSGraphClient) および Azure Active Directory 認証で保護されたカスタム…

PowerApps でパスワード マネージャーを作ってみた

パスワード管理に Enpass を使っていたのですが、ちょっと高機能すぎて使いこなせないのと、モバイルで使うときに有償になるので、PowerApps の勉強がてら自分でパスワード マネージャーを作ってみました。 データ ソース OneDrive for Bussiness の Excel …

SharePoint Framework のデプロイを自動化する

(2018/08/14 追記) 説明が足りない箇所があったため全体的に書き直しました。2017/11 に SharePoint ALM API が提供されました。これにより、SharePoint アプリ (Add-ins) や SharePoint Framework のアプリのビルドとデプロイを自動化できるようになりまし…

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

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

Microsoft Graph でログイン ユーザーが組織アカウントか Microsoft アカウントかどうかを識別する

なんかいい方法あったら教えてください。 /me で判断する とりあえず思いつく /me ではあまり違いがわかりません。 組織アカウントの場合 { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity", "id": "00000000-0000-0000-0000…

Microsoft Graph の Bookings REST API (Preview) について

Microsoft Bookings という Office 365 Bussiness Premium 向けのサービスがあります。*1Microsoft Bookings、オンライン スケジューリングおよび予約アプリオンラインの予約受付サービスで、顧客はサービスやスタッフ、金額を選択して予約を入れることがで…

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

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

PowerApps PowerShell についてフィードバックを出してみた

5月30日に新しくリリースされた#PowerApps 用のPowerShellコマンドレットを利用すると、自分でも所有者は変更できるようになってます。Set-AdminAppOwnerリリース情報:https://t.co/dH1sfj6l3M— Taiki Yoshida (@TaikiYoshidaJP) 2018年6月12日ということで…

SharePoint Framework 1.5 がリリースされました

2018/06/05 に SharePoint Framework 1.5 がリリースされました。developer.microsoft.com機能追加としては、パッケージ マネージャーとして npm のほかに pnpm と Yarn が使えるようになりました。これによりプロジェクトを作成するときの時間と容量を節約…

PowerShell 実践ガイドブック 書籍レビュー

tech.guitarrapc.com気になったので応募したところ当選してしまいました!ぎたぱそ氏 (@guitarrapc_tech) およびマイナビ出版の方にはこの場を借りてお礼申し上げます。ということで書籍レビューです。 PowerShell との思い出 もともと SharePoint をやって…

いまさらだけど ASP.NET MVC のアプリケーション アーキテクチャをおさらいするを公開しました

なんかかっとなってやった。 話す機会がないのでスライドだけ。