API возврата графов 403 запрещено с 18 марта 2019 года - PullRequest
1 голос
/ 20 марта 2019

Следующая реализация прекрасно работает до 18 марта 2019 года.

var graphClient = this.graphService.GraphClient;
var reqUrl = graphClient
    .Me
    .Request()
    .RequestUrl;
reqUrl += "/findMeetingTimes";
var headers = new Dictionary<string, string>
    { { "Prefer", $"outlook.timezone = \"{parameter.PreferredTimeZone}\"" },
    };

var noOfMeetingSlots = parameter.MaxCandidates ?? 5;

parameter.MaxCandidates = 25;

var hrm = this.graphService.CreateHttpPostRequest<MeetingSuggestionParameter>(
    parameter,
    new Uri(reqUrl),
    headers);

await graphClient
    .AuthenticationProvider
    .AuthenticateRequestAsync(hrm)
    .ConfigureAwait(false);

MeetingSuggestionResult result = null;

try
{
    using(HttpResponseMessage response = await graphClient
            .HttpProvider
            .SendAsync(hrm)
            .ConfigureAwait(false)) {

Исключение:

graphClient.HttpProvider.SendAsync throws 403 Forbidden. 
Exception Message:
Code: UnknownError

Inner error

StackTrace 
at Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
   at Publicis.Marcel.Services.Calendar.CalendarService.FindMeetingSuggesstionsWithParametersAsync(MeetingSuggestionParameter parameter) in E: \Assistant2\o365\Services\Publicis.Marcel.Services.Calendar\Concrete\CalendarService.cs:line

Следующий фрагмент кода работает с использованием Client SDK:

var re = await graphClient
    .Me
    .FindMeetingTimes(
        Attendees,
        null,
        null,
        new Duration(parameter.MeetingDuration),
        parameter.MaxCandidates,
        parameter.IsOrganizerOptional,
        parameter.ReturnSuggestionReasons,
        parameter.MinimumAttendeePercentage)
    .Request()
    .PostAsync()
    .ConfigureAwait(false);

Вещи, которые я уже проверил

  1. Разрешение участника службы Azure AD.У него есть caledar.read и calendar.read.Shared

Это работало в производстве до 18 марта 2019 года, когда он начал бросать 403 Forbidden.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...