![](/img/trans.png)
[英]Upload files with Sharepoint REST API and Javascript from outside of Sharepoint?
[英]Is it possible to call Sharepoint REST API with Javascript from outside of Sharepoint?
我在Sharepoint中有一个列表,我想创建一个显示该列表内容的外部网页。 我想使用Javascript或PHP对Sharepoint执行REST调用。
我已经阅读了有关REST api的信息,但仍然不知道是否可以在Sharepoint之外使用它。 有经验的人吗?
由于跨域安全性的限制,您不能直接从SharePoint外部调用SharePoint的REST API。
一种替代方法是使用iframe显示SharePoint页面,将需要直接与REST API通信的JavaScript放在SharePoint页面上,并使用postMessage在外部页面和iframe中的嵌入式页面之间进行通信。
一些警告:
如果您具有SharePoint Designer或其他一些用于编辑ASPX页面的工具,则可以向该页面添加控件,以将该页面嵌入到iframe中。
<% Register Tagprefix="WebPartPages" Namespace="Microsoft.SharePoint.WebPartPages" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<WebPartPages:AllowFraming runat="server"/>
在内嵌在iframe中的页面上运行的JavaScript可以调用parent.postMessage(data,url)
将数据发送到托管页面。 (第二个参数必须与托管页面的来源相匹配,以确保安全。)
要在主机页面上侦听并响应数据的接收,请添加事件侦听器以在“消息”事件上触发。
if(window.addEventListener){
window.addEventListener("message", onMessageReceived);
}else{
window.attachEvent("onmessage", onMessageReceived);
}
您可以使用查询字符串参数(用于初始配置)或其他postMessage调用(用于双向通信)将其他详细信息发送到iframe中嵌入的页面。
从托管页面向iframe中的嵌入式窗口发送消息类似于在另一个方向上发送消息:区别在于,您需要获取对iframe的contentWindow
属性的引用,然后在其上调用postMessage
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.