Я делаю запрос OAuth 1.0a для онлайн-REST API. Насколько я могу судить, следующий код - способ сделать запрос, но я получаю сообщение «Это свойство не может быть установлено после начала записи» в строке request.ContentLength = postData.Length;
... Я не понимаю, почему. Если это не способ добавить данные POST в аутентифицированный веб-запрос OAuth, прежде чем он погаснет, что это такое?Это свойство не может быть установлено после начала записи ... когда я начал писать?
var request = consumer.PrepareAuthorizedRequest(new DotNetOpenAuth.Messaging.MessageReceivingEndpoint(new Uri(this.EndPointAddress, relativeUri), method), this.AccessToken);
request.Method = (method == DotNetOpenAuth.Messaging.HttpDeliveryMethods.PostRequest) ? "POST" : "GET";
if (postValues != null && postValues.Count > 0)
{
//There is POST data associated with this request, include it
var postData = KVPCollectionToString(postValues);
request.ServicePoint.Expect100Continue = false;
request.ContentLength = postData.Length;
Logger.Trace(t => t("POST Data: {0}", postData));
using (var stream = request.GetRequestStream())
{
var pBytes = System.Text.Encoding.UTF8.GetBytes(postData);
stream.Write(pBytes, 0, pBytes.Length);
}
}
Это хорошая информация, чтобы знать! Модификация моего кода для отправки 'IDictionary' из моих значений POST успешно создала запрос. Конечно, это не удалось для какой-то общей проблемы с 'signature_method_rejected', но это еще одна проблема. Благодаря! –