からめもぶろぐ。

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

SharePoint

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

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

SharePoint Framework 1.6 が公開されました

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

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

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

SharePoint Framework 1.5 が公開されました

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

SharePoint Online Management Shell がインストールする CSOM がいけてない

発端は Japan SharePoint Support Team Blog の記事です。blogs.technet.microsoft.com SharePoint Online Management Shell をインストールすることで、CSOM のモジュールもインストールされます。 はい、確かに SharePoint Online Management Shell をイン…

SharePoint Framework 1.4.1 で追加された MSGraphClient を試してみた

SharePoint Framework 1.4.1 が公開され、プレビューですが Graph API をサポートしました。developer.microsoft.comこれまでのバージョンでは、GraphHttpClient によって限定的な Graph API の呼び出しがサポートされてきましたが、今回のリリースでは、新…

SharePoint でコンテンツ エディター Web パーツが表示されない場合の対処方法

SharePoint Online の場合にコンテンツ エディターが表示されない場合はだいたい以下の理由で解決します。docs.microsoft.comそれ以外の場合でコンテンツ エディター Web パーツが表示されない場合があります。具体的には、サイト コレクションを [テンプレ…

SharePoint 2013 REST API の UserCollection.GetByLoginName メソッドを呼び出すとエラーが発生する

SharePoint 2013 で REST API の UserCollection.GetByLoginName メソッドを呼び出したときに、以下のメッセージでエラーが発生することがあります。 危険な可能性のある Request.Path 値がクライアント (:) から検出されました。 エラーの詳細については以…

SharePoint 管理シェルで使用されている PipeBind オブジェクトについて

この記事は「PowerShell Advent Calendar 2017」の参加記事です。qiita.comSharePoint 管理シェルでは、例えば Get-SPWeb の Identity パラメーターに URL または ID (GUID) を渡すことができます。下記の例ではあえてキャストしていますが、もちろん文字列…

SharePoint 2016 で個人用サイトを作成すると謎のサイト コレクションが作成される

SharePoint 2016 で個人用サイトを作成したときに sitemaster ではじまる名前の見慣れないサイト コレクションが作成されます。これは SharePoint 2016 から追加された「高速なサイト コレクション作成」という機能によるものです。あらかじめサイト マスタ…

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

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

SharePointPnP.PowerShell Commands というものがあるらしい

github.comアルェー(・3・)

CSOM の WebTemplate には Path が入ってこない

どういうことかというと、以下のコードを実行します。 public static class Program { private static void Main(string[] args) { var siteUrl = "{{siteurl}}"; var userName = "{{username}}"; var rawPassword = "{{password}}"; var securePassword = n…

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

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

CSOM で実行される Web リクエストを取得する

CSOM では内部的に Web リクエストを発行していて、どういうリクエストが流れているかを見るためには Fiddler などのツールを使わないといけないのですが、とても面倒くさいので、コードから取得できるようにしてみました。ちなみに ExecutingWebRequest イ…

CSOM の Site.OpenWeb メソッドで File Not Found が発生する件について

CSOM で以下のコードのように同じサイトを作成したり削除したりを繰り返すと ServerException (File Not Found) が発生します。 最初はタイミングの問題かなと思ったのですが、スリープを入れても常に発生するので、そういう問題でもなさそう。 $context.Loa…

SharePoint Online で日本語名のファイルをダウンロードするとファイル名が欠落する件が解消された模様

blogs.technet.microsoft.comSharePoint Online では長い日本語名のファイルをダウンロードするとファイル名が欠落する件が発生していたのですが、最近になって解消された模様です。ちなみに OneDrive for Business のほうも同様に解消されています。変更点…

SharePoint 2013 で JavaScript からユーザー選択ウィンドウ (PeoplePicker) を呼び出す

<SharePoint:PeopleEditor> を使わずに JavaScript だけでダイアログを表示してユーザー選択をさせるサンプルです。github.comやっていることは割と簡単で /_layouts/15/Picker.aspx を SP.UI.ModalDialog.showModalDialog で呼び出すだけです。戻り値として XML が返ってくるので中身</sharepoint:peopleeditor>…

JSOM の executeQueryAsync で使われている Function.createDelegate について

JSOM のサンプルを見ると当たり前のように使われている Function.createDelegate について。引数に this を渡しているのでだいたい想像が付くとは思いますが、JavaScript の this の面倒なアレを解決してくれるんですね。 <asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server"> <script type="text/javascript"> var obj = { web: null, retrieve</asp:content>…

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

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

SharePoint を PowerShell から操作する方法まとめ

この記事は「PowerShell Advent Calendar 2016」の参加記事です。qiita.com今は SharePoint をメインでやっているこのブログもいつの間にか PowerShell タグがついた記事が結構増えているわけですが、SharePoint の構築や運用にあたって PowerShell は欠かせ…

SharePoint Online で SharePoint じゃないページを作る

この記事は「Office 365 Advent Calendar 2016」の参加記事です。www.adventar.orgSharePoint は標準でもそこそこそれなりに使えるのですが、やはりデザインをカスタマイズしたいという要望は多いです。でも SharePoint のスタイル シート構造を理解してカス…

SharePoint 2013 のお知らせリストで「続きを読む」を実装する

「こういうの欲しいよね?」ということでサクッと JSLink を使って実装してしまいます。 (function() { var overrideCtx = {}; overrideCtx.ListTemplateType = 104; overrideCtx.BaseID = 100; overrideCtx.Templates = {}; overrideCtx.Templates.Fields =…

SharePoint 2013 ファーム ソリューション ファイルを一発で展開する

開発時によく使うけど忘れるので書きました。 ソリューションをアンインストールした直後は削除できないのでループで回すようにしています。github.com Add-PSSnapin "Microsoft.SharePoint.PowerShell" $path = "{{filepath}}" $name = [System.IO.Path]::G…

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

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

SharePoint アドイン プロジェクトで TypeScript を使えるようにする

SharePoint ホスト型の SharePoint アドイン プロジェクトではサーバー側のコードを書けないので、App.js に JavaScript を書いていくことになるのですが、どうせなら TypeScript 使いたいよね!と思っても App.js を App.ts に変えただけでは自動的にコンパ…

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

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

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

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

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

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

SharePoint 2013 で不要な機能を無効にする

SharePoint 2013 のサイト (チーム サイト) を作成したときに、いくつかの機能が既定で有効になるのですが、不要な機能が有効になっていることが多いので、個人的に最低限必要だと思う機能についてまとめてみました。機能は無効化したあとも再有効にできるの…