1

http POST の作成に問題があります。私が呼び出している API は、content-length. しかし、これを行う方法がわかりません。

ここに私が持っているコードがあります:

public static string publishClip(string instance_url, string sessionId, string clipId)
{
    int trev = System.Text.ASCIIEncoding.Unicode.GetByteCount(instance_url + "/services/apexrest/DesktopClient/PublishClip/" + clipId);

    WebRequest wrGETURL;
    wrGETURL = WebRequest
        .Create(instance_url
                + "/services/apexrest/DesktopClient/PublishClip/"
                + clipId);
    wrGETURL.Method = "POST";
    wrGETURL.ContentType = "application/json";
    wrGETURL.ContentLength = trev;
    wrGETURL.Headers.Add("Authorization", "Bearer " + sessionId);
    Stream objStreamclipId = wrGETURL.GetResponse().GetResponseStream();
    StreamReader objReader = new StreamReader(objStreamclipId);

    return "trev";
}

誰でも私を助けてもらえますか?

これは私が得ているエラーです:

{"ContentLength>0 または SendChunked==true を設定する場合は、リクエスト本文を提供する必要があります。これを行うには、[Begin]GetRequestStream を [Begin]GetResponse の前に呼び出します。"}

4

2 に答える 2

2
var postData = ?;
byte[] bytes = encoding.GetBytes(postData);
wrGETURL.ContentLength = bytes.Length;

あなたのpostData Trevは?

于 2013-10-02T12:12:43.610 に答える
0

StreamReader objReader からバイトを取得する必要があります。これを行うには、こちらを参照してください: C# で Stream を byte[] に変換する方法? そしてそれらを数えます。

于 2013-10-02T12:13:30.817 に答える