次の方法で共有


AtomPubClient.CreateResourceAsync(Uri, String, SyndicationItem) メソッド

定義

指定したコレクションに新しい Entry リソースを作成します。 新しいリソースを作成するコレクションの Uri は、RetrieveResourceAsync メソッドから取得した ResourceCollection オブジェクトから検出できます。

public:
 virtual IAsyncOperationWithProgress<SyndicationItem ^, TransferProgress> ^ CreateResourceAsync(Uri ^ uri, Platform::String ^ description, SyndicationItem ^ item) = CreateResourceAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<SyndicationItem, TransferProgress> CreateResourceAsync(Uri const& uri, winrt::hstring const& description, SyndicationItem const& item);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<SyndicationItem,TransferProgress> CreateResourceAsync(System.Uri uri, string description, SyndicationItem item);
function createResourceAsync(uri, description, item)
Public Function CreateResourceAsync (uri As Uri, description As String, item As SyndicationItem) As IAsyncOperationWithProgress(Of SyndicationItem, TransferProgress)

パラメーター

uri
Uri Uri

新しいリソースを作成する必要がある指定したコレクションの Uri。

description
String

Platform::String

winrt::hstring

POST 要求の Slug: ヘッダーに変換される新しいリソースの説明。

item
SyndicationItem

作成する新しいリソース。

戻り値

リソースを非同期的に作成し、操作の進行状況と完了状態を報告するために使用される オブジェクト。

属性

次のコードは、サービス ドキュメントにアクセスし、編集 URI 値を取得する方法を示しています。 フィード コンテンツを管理するために AtomPub を使用する方法のその他の例については、 AtomPub サンプルをダウンロードしてください。

function createResource() {
    try {
        // Refresh client in case server url or credential have changed.
        createClient();

        var title = document.getElementById("titleField").value;
        if (title === "") {
            outputField.innerHTML = "Post title cannot be blank";
            return;
        }

        var serviceUri = new Windows.Foundation.Uri(document.getElementById("serviceAddressField").value.trim() + defaultServiceDocUri);
        outputField.innerHTML = "Fetching service document: " + serviceUri.absoluteUri + "</br>";
        findEditUri(serviceUri).then(function (resourceUri) {
            if (!resourceUri) {
                outputField.innerHTML += "Error: Edit uri not found in service document";
                return null;
            }

            outputField.innerHTML += "Uploading post: " + resourceUri.absoluteUri + "</br>";

            var item = new Windows.Web.Syndication.SyndicationItem();
            item.title = new Windows.Web.Syndication.SyndicationText(title, Windows.Web.Syndication.SyndicationTextType.text);
            var content = document.getElementById("bodyField").value;
            item.content = new Windows.Web.Syndication.SyndicationContent(content, Windows.Web.Syndication.SyndicationTextType.html);

            return client.createResourceAsync(resourceUri, item.title.text, item);
        }).done(function (result) {
            if (result) {
                outputField.innerHTML += "Posted at " + result.itemUri.absoluteUri + "</br>";
                outputField.innerHTML += "Complete</br>";
            }
        }, onError);
    }
    catch (ex) {
        outputField.innerHTML += "Exception:" + ex + "</br>";
    }
}

注意

この例で呼び出される findEditUri 関数の背後にあるコードについては、「RetrieveServiceDocumentAsync」を参照してください。

適用対象

こちらもご覧ください