5

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以外のコードを使用/編集することはできません!)?

ご不明な点がございましたら、お気軽にお問い合わせください。

4

1 に答える 1

4

_api は SP 2013 の新機能であるため、コードを SharePoint 2010 用にすることはできません。

[更新] SP 2013 プレビューでコードが機能していたということでしょうか? SP2013 RTM では、以下を使用する必要があります。

"Accept": "application/json; odata=verbose"
于 2012-12-01T01:32:06.347 に答える