Sharepoint アプリを作成していますが、Javascript (jQuery を含む) と REST エンドポイントの使用に制限されています。Web アプリを使用してホストから項目を削除したいのですが、エラー ( 403: FORBIDDEN
) が発生します。これは私がこれまで持っているコードです:
executor = new SP.RequestExecutor(appweburl);
executor.executeAsync({
url: appweburl + "/_api/SP.AppContextSite(@target)/web/lists/getbytitle('" + currentListTitle + "')/items(" + result.Id + ")/?@target='" + hostweburl + "'",
method: "POST",
headers: {
"accept": "application/json",
"X-RequestDigest": ?????
"IF-MATCH": "*",
"X-HTTP-Method": "DELETE"
},
success: onDeleteItemSuccess,
error: onDeleteItemFail
});
これX-RequestDigest
が必須であることがわかり、REST からこれを取得するための呼び出しがいくつか見つかりました。
$.ajax({
url: appweburl + "/_api/SP.AppContextSite(@target)/contextinfo/?@target='" + hostweburl + "'",
type: "POST",
contentType: "application/x-www-url-encoded",
dataType: "json",
success: function (data) {
if (data.d)
{
digestValue = data.d.GetContextWebInformation.FormDigestValue;
alert(digestValue);
}
},
error: function (xhr) {
alert(xhr.status + ': ' + xhr.statusText);
}
});
しかし、まったく機能せず (これは、このコードが SharePoint 2010 用であったためかもしれません)、403: FORBIDDEN
メッセージが表示され続けます。
RESTを使用してリストの1つからリスト項目を削除する方法を知っている人はいますか(JavaScript以外のコードを使用/編集することはできません!)?
ご不明な点がございましたら、お気軽にお問い合わせください。