2017-01-31 12 views
0

次の問題があります。 SharePoint Online環境では、そのデータをリストに格納するSharePoint Hosted Appがインストールされています。 このリストからデータを取得する必要がありますが、SharePoint Hosted AppのWebでは、同じアプリのWeb /アプリコンテキスト外ではアクセスできません。SharePointでホストされているアドインWebのデータにアクセスする

これについての解決策はありますか?私はアプリWebの保護が理由でそこにあることを知っているが、実際にSharepoint Hosted Add-Inがコンテキスト外でデータを共有する方法がないのだろうか?

答えて

1
// Get Context of App Web 
var context = new SP.ClientContext("<<SharePoint App Web Url>>"); 
//Set Proxy web to get data of parent web apps 
var factory = new SP.ProxyWebRequestExecutorFactory("<<SharePoint App Web Url>>"); 
context.set_webRequestExecutorFactory(factory); 
//get parent web context 
var appContextSite = new SP.AppContextSite(context, "<<SharePoint App Host Web Url>>"); 
web = appContextSite.get_web(); 

//get parent web list 
var lists = appContextSite.get_web().get_lists().getByTitle("<<List Name>>"); 
var caml = new SP.CamlQuery(); 
//Ceate CAML Query to get items from list 
caml.set_viewXml('View><Query></Query></View>'); 
var listItems = lists.getItems(caml); 
//load context of listItems 
context.load(listItems); 
context.executeQueryAsync(function() { 
    var listInfo = ''; 
    var listEnumerator = listItems.getEnumerator(); 
    while (listEnumerator.moveNext()) { 
     var oList = listEnumerator.get_current(); 
     listInfo += ' ID: ' + oList.get_id().toString() + '\n'; 
    } 
    alert(listInfo); 
    //here you can get list data 
}, 
function (sender, args) { 
    console.log(args.errorMessage); 
}); 
関連する問題