kazuakix の日記

Windows Phone とか好きです

SharePoint Online のファイルをブログに埋め込む

PowerPoint のファイルをブログに埋め込みたいことありますよね。

OneDrive の場合

PowerPoint Online のファイルメニューから 共有 - 埋め込む を開くと <iframe> からはじまる埋め込みコードが表示されます。

f:id:kazuakix:20150309235607j:plain,w455
f:id:kazuakix:20150309235615j:plain,w455

これをブログに貼り付けるとこの通り。
f:id:kazuakix:20150309235622j:plain,w455

このとき必要な共有の設定なんかは自動的に行われます。お手軽ですね。

SharePoint Online / OneDrive for Business の場合

SharePoint Online でも同じように Office Online でファイルを開く事ができます。*1

ところが、これをはてなブログに埋め込んでみると...。
f:id:kazuakix:20150309235629j:plain,w455

何故か表示されません...。どうしてもわからなかったので Office 365 フォーラムで質問し 挙句サポートにまで問い合わせた結果、以下の手順を教えていただきました。
 
まず、前提条件として SharePoint 管理センターのサイトコレクションの設定で外部ユーザーと匿名ゲストリンクの両方を許可しておきます。

f:id:kazuakix:20150309235643j:plain,w455

続いて埋め込みコードを取得します。

上記の PowerPoint Online のメニューからの他、ファイル名横の...メニューからも埋め込みコードを取得することができます。

f:id:kazuakix:20150309235636j:plain,w455

取得したコードはこんな感じです。

<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>


ここから更にファイル名横の...メニューの共有を開き、リンクの設定から表示のみリンクを取得します。

f:id:kazuakix:20150309235654j:plain,w455

取得したリンクはこんな感じです。

https ://domain.sharepoint.com/MWCC/_layouts/15/guestaccess.aspx?guestaccesstoken=JzSFVRaTTO4rDTDqzEqZ7y5LjSgtsP4iM0L4h31pkDQ%3d&docid=057fe2ea4e5144263999de3bb632a0bbc

ここで上で取得した埋め込みコードの赤字部分 (https から } まで) をこのリンクで置き換えると...

無事に表示されました!

f:id:kazuakix:20150309235622j:plain,w455
 
まぁ、手間的に「OneDrive 使うのが楽ですね」って事なんですが、どうしても SharePoint Online のファイルを外部公開したい方は参考にしてみてください。

*1:というかこっちの方が先です