PowerPoint のファイルをブログに埋め込みたいことありますよね。
OneDrive の場合
PowerPoint Online のファイルメニューから 共有 - 埋め込む を開くと <iframe> からはじまる埋め込みコードが表示されます。
これをブログに貼り付けるとこの通り。
このとき必要な共有の設定なんかは自動的に行われます。お手軽ですね。
SharePoint Online / OneDrive for Business の場合
SharePoint Online でも同じように Office Online でファイルを開く事ができます。*1
ところが、これをはてなブログに埋め込んでみると...。
何故か表示されません...。どうしてもわからなかったので Office 365 フォーラムで質問し 挙句サポートにまで問い合わせた結果、以下の手順を教えていただきました。
まず、前提条件として SharePoint 管理センターのサイトコレクションの設定で外部ユーザーと匿名ゲストリンクの両方を許可しておきます。
続いて埋め込みコードを取得します。
上記の PowerPoint Online のメニューからの他、ファイル名横の...メニューからも埋め込みコードを取得することができます。
取得したコードはこんな感じです。
<iframe src='https ://domain.sharepoint.com/MWCC/_layouts/15/WopiFrame.aspx?sourcedoc={57fe2ea4-e514-4263-999d-e3bb632a0bbc}&action=embedview&wdAr=1.7755102040816326&Embed=1' width='350px' height='221px' frameborder='0'>これは、<a target='_blank' href='http ://office.com/webapps'>Office Online</a> の機能を利用した、<a target='_blank' href='http ://office.com'>Microsoft Office</a> の埋め込み型のプレゼンテーションです。</iframe>
ここから更にファイル名横の...メニューの共有を開き、リンクの設定から表示のみリンクを取得します。
取得したリンクはこんな感じです。
https ://domain.sharepoint.com/MWCC/_layouts/15/guestaccess.aspx?guestaccesstoken=JzSFVRaTTO4rDTDqzEqZ7y5LjSgtsP4iM0L4h31pkDQ%3d&docid=057fe2ea4e5144263999de3bb632a0bbc
ここで上で取得した埋め込みコードの赤字部分 (https から } まで) をこのリンクで置き換えると...
無事に表示されました!
まぁ、手間的に「OneDrive 使うのが楽ですね」って事なんですが、どうしても SharePoint Online のファイルを外部公開したい方は参考にしてみてください。
*1:というかこっちの方が先です