私はSharepointにリストを持っており、このリストの内容を表示する外部Webページを作成したいと考えています。 JavascriptまたはPHPを使用してSharepointへのREST呼び出しを実行したいと思います。Sharepointの外部からJavascriptでSharepoint REST APIを呼び出すことはできますか?
私はREST APIについて読んだことがありますが、Sharepoint以外でも使用できるかどうかはまだ分かりません。誰でも経験がありますか?
私はSharepointにリストを持っており、このリストの内容を表示する外部Webページを作成したいと考えています。 JavascriptまたはPHPを使用してSharepointへのREST呼び出しを実行したいと思います。Sharepointの外部からJavascriptでSharepoint REST APIを呼び出すことはできますか?
私はREST APIについて読んだことがありますが、Sharepoint以外でも使用できるかどうかはまだ分かりません。誰でも経験がありますか?
クロスドメインのセキュリティ制限により、SharePointの外部からSharePointのREST APIを直接呼び出すことはできません。
代わりに、iframeを使用してSharePointページを表示し、JavaScriptをREST APIと直接通信する必要があるJavaScriptをSharePointページに配置し、postMessageを使用して、外部ページとiframe内の埋め込みページ。
いくつかの注意点:IFRAMEとホスティングページ内
ASPXページを編集するためのSharePoint Designerまたはその他のツールがある場合は、ページをiframeに埋め込むことができるようにページにコントロールを追加できます。 IFRAME内に埋め込まれたページ上で実行されている
<% Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<WebPartPages:AllowFraming runat="server"/>
JavaScriptがホスティングページにデータを送信するためにparent.postMessage(data,url)
を呼び出すことができます。
ホストページのデータの受信をリッスンして応答するには、「メッセージ」イベントでトリガするイベントリスナを追加します(この2番目のパラメータは、セキュリティのためにホスティングページの起点と一致する必要があります)。
if(window.addEventListener){
window.addEventListener("message", onMessageReceived);
}else{
window.attachEvent("onmessage", onMessageReceived);
}
あなたは(双方向通信用)(初期設定用)クエリ文字列パラメータを使用してiframe内に埋め込まれたページまたは追加のpostMessage呼び出しに追加の詳細を送信することができます。ホスティングページからのiframe内に埋め込まれたウィンドウにメッセージを送信
は、メッセージに他の方向に送信することに似ています。違いは、あなたがIFRAMEのcontentWindow
プロパティへの参照を取得し、それにpostMessage
を呼び出す必要がありますということです。