0

Sharepoint Hosted Apps を使用して HostWeb のサブサイトにアクセスする方法は? アプリがホストされている Hostweb のサブサイトのリストにアクセスしたいと考えています。

4

2 に答える 2

2

あなたの質問を完全に理解しているかどうかはわかりませんが、答えようとします。

「ホスト Web」という用語は実際には相対的なものであり、この場合、アプリがインストールされているサイトを意味します。

これを超えるには、2 つのことが必要です。

  1. アプリケーションで許可が必要です。アプリ マニフェストには、アクセス許可のタブがあります。「Web」と「サイト コレクション」の 2 つに興味があるかもしれません。これらを説明するリンクは次のとおりです。 http://msdn.microsoft.com/en-us/library/fp142383.aspx

  2. 次は、AppWeb の範囲外に出ることです。これは RequestExecutor と呼ばれるもので行われます。これにより、アプリの範囲外に移動するために SharePoint に代わりに呼び出しを行うように依頼できますが、許可を与えた場所にのみ移動します。そのプロセスへのリンクは次のとおりです。 http://msdn.microsoft.com/en-us/library/fp179927.aspx

これらの両方を行うことで、必要なものを手に入れることができます。

于 2013-08-05T18:09:04.537 に答える
0
function RetrieveWebsFromHostWeb() {

var websUrl = _appWebUrl + "/_api/SP.AppContextSite(@target)/site/rootWeb/webinfos?@target='" + _hostWebUrl + "'";

$.ajax({
    url: websUrl,
    method: "GET",
    headers: { "Accept": "application/json; odata=verbose" },
    success: this.OnRetrieveWebsFromHostWebSucceeded
});

}

function OnRetrieveWebsFromHostWebSucceeded(sender, args) {

console.log(sender.d.results);

}

function GetQueryStringParameter(paramToRetrieve) {
    var params = document.URL.split("?")[1].split("&");
    var strParams = "";
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == paramToRetrieve)
            return singleParam[1];
    }
}
var _appWebUrl = decodeURIComponent(this.GetQueryStringParameter("SPAppWebUrl"));
var _hostWebUrl = decodeURIComponent(this.GetQueryStringParameter("SPHostUrl"));
于 2014-10-03T04:53:13.223 に答える