Каждая комбинация Etag считается недействительной. Когда я делаю один и тот же запрос в графическом обозревателе, он работает

Я пытаюсь обновить детали плана через Microsoft Graph API. Мой проект MVC .Net 4. GET и POST-запросы хороши, но когда я попытался обновить детали плана, заголовок IF-Match был обязательным в запросе, поэтому я отправляю значение ETAG в разделе if-match, но продолжаю говорить Значение IF-Match недопустимо и иногда говорит, что указано неверно. Помоги мне.

Это некоторые ответы, как только я строю в порядке запросы ниже 1) Ошибка в /Home/EditPlanAction: формат значения 'W/\"JzEtUGxhbiAgQEBAQEBAQEBAQEBAQEBATCc=\"' недопустим.

2 и 3) Ошибка в /Home/EditPlanAction: { "error": { "code": "", "message": "Заголовок If-Match содержит недопустимое значение.", "InnerError": { "request-id": "e7744797-f0ac-45c6-a1a6-73dcd3838759", "date": "2019-05-03T21:03:24" } } }

if (method != HttpMethod.Get && method != HttpMethod.Delete && method != 
    HttpMethod.Post && method != HttpMethod.Put)


{


string uri1 = uri.Replace("/details", "");
HttpResponseMessage foretag = await 
ServiceHelper.SendRequest(HttpMethod.Get, $"{graphV1Endpoint}{uri1}", 
accessToken);



 //EntityTagHeaderValue entityTagHeaderValue = new 
                     EntityTagHeaderValue((foretag.Headers.ETag.Tag));

     //JsonConvert.SerializeObject(entityTagHeaderValue, jsonSettings);

      string etag1 = foretag.Headers.ETag.Tag;

      string etag2 = etag1.Replace("\"", "");

      //string etag3 = "W/\\\"" + etag2 + "\\\"";


 `request.Headers.Add("If-Match", "W/\\\"" + etag2 + "\\\"");`
 `request.Headers.Add("If-Match", "W/\"" + etag2 + "\"");`
 `request.Headers.Add("If-Match", "\"" + etag2 + "\"");`
 `request.Headers.Add("If-Match", "\\\"" + etag2 + "\\\"");`
 `request.Headers.Add("If-Match",  etag2 );`

1 ответ

Исправлена ​​ошибка, из-за которой я продолжал использовать Etag плана для обновления деталей плана. Мало ли я знал, что даже если мы работаем над тем же планом, детали плана для этого плана будут иметь разные Etag. Вместо того, чтобы делать новый запрос на получение, чтобы получить планы Etag из ответа, я получил детали плана Etag и отправил его для запроса деталей, и это сработало. не стесняйтесь комментировать, если кто-то сталкивается с той же проблемой и хочет получить более подробную информацию о проблеме. Я написал новую функцию GetMyEtag, которая получает etag деталей плана, которые я пытаюсь обновить.

Другие вопросы по тегам