Graph API不允许在线会议

时间:2020-04-29 14:53:05

标签: microsoft-graph-api microsoft-graph-teams microsoft-graph-calendar

我当前正在建立一个网页,用户可以在其中使用Microsoft Graph api向其他人发送事件请求。我希望用户能够发送在线会议请求,然后提供ms团队和Skype的选项。

但是,一旦我添加属性'isOnlineMeeting'和/或'onlineMeetingProvider',我总是会返回错误400和错误的请求。这是因为该属性在/ me / events上不存在。

Text (响应)

我不知道为什么,但是,当前我正在使用Microsoft图形浏览器来测试请求。

我确保发送邀请需要所有许可:

  • 日历。阅读
  • 日历,共享阅读
  • Calendar.ReadWrite
  • Calendar.ReadWrite.Shared

如果发送的会议不具有这些属性,则可以正常进行。我创建了其他个人Outlook帐户,并且此属性可以正常使用。我已要求组织中的其他人也尝试一下,他们的工作正常。

这是否意味着我的ms帐户已损坏?如果是这样,我该如何解决它才能发送此请求。

1 个答案:

答案 0 :(得分:0)

尝试一下:

df <-
  collidr::CRANdf %>%
  filter(package_names %in% tidyverse::tidyverse_packages()) %>%
  mutate(f = map2(function_names, package_names, possibly(getFromNamespace, otherwise = NA))) %>%
  filter(map_lgl(f, is_function), !map_lgl(f, rlang::is_primitive)) %>%
  mutate(first_arg = map(f, ~rlang::fn_fmls(.) %>% names() %>% first())) %>%
  filter(first_arg %in% c(".data", ".tbl", "data")) %>%
  select(package_names, function_names, first_arg)
df
#>    package_names       function_names first_arg
#> 1            cli                 tree      data
#> 2         dbplyr     arrange.tbl_lazy     .data
#> 3         dbplyr           do.tbl_sql     .data
#> 4         dbplyr         window_order     .data
#> 5          dplyr              arrange     .data
#> 6          dplyr          arrange_all      .tbl
#> 7          dplyr             distinct     .data
#> 8          dplyr         distinct_all      .tbl
#> 9          dplyr                   do     .data
#> 10         dplyr               filter     .data
#> 11         dplyr           filter_all      .tbl
#> 12         dplyr             group_by     .data
#> 13         dplyr         group_by_all      .tbl
#> 14         dplyr           group_keys      .tbl
#> 15         dplyr            group_map     .data
#> 16         dplyr           group_rows     .data
#> 17         dplyr           group_trim      .tbl
#> 18         dplyr               mutate     .data
#> 19         dplyr           mutate_all      .tbl
#> 20         dplyr                 pull     .data
#> 21         dplyr              rowwise      data
#> 22         dplyr               select     .data
#> 23         dplyr           select_all      .tbl
#> 24         dplyr                slice     .data
#> 25         dplyr            summarise     .data
#> 26         dplyr        summarise_all      .tbl
#> 27       ggplot2               ggplot      data
#> 28        modelr      add_predictions      data
#> 29        modelr        add_residuals      data
#> 30        modelr            bootstrap      data
#> 31        modelr            crossv_mc      data
#> 32        modelr            data_grid      data
#> 33        modelr             fit_with      data
#> 34        modelr         model_matrix      data
#> 35        modelr              permute      data
#> 36        modelr             resample      data
#> 37        modelr   resample_bootstrap      data
#> 38        modelr   resample_partition      data
#> 39        modelr resample_permutation      data
#> 40         rlang         as_data_mask      data
#> 41        tibble           add_column     .data
#> 42        tibble              add_row     .data
#> 43         tidyr             complete      data
#> 44         tidyr              drop_na      data
#> 45         tidyr               expand      data
#> 46         tidyr              extract      data
#> 47         tidyr                 fill      data
#> 48         tidyr               gather      data
#> 49         tidyr                 nest     .data
#> 50         tidyr           replace_na      data
#> 51         tidyr             separate      data
#> 52         tidyr        separate_rows      data
#> 53         tidyr               spread      data
#> 54         tidyr              uncount      data
#> 55         tidyr                unite      data
#> 56         tidyr               unnest      data

要生成令牌:

            var body= "{email body};
            var string = "{\"subject\": \"Join the Teams Meeting\", \"body\": {\"contentType\": \"HTML\",  \"content\": \"" + body + "\" }, \"start\": {\"dateTime\": \"2020-09-28T19:30:34\",\"timeZone\": \"Pacific Standard Time\" }, \"end\": { \"dateTime\": \"2020-09-28T20:00:34\", \"timeZone\": \"Pacific Standard Time\"}, \"location\":{ \"displayName\":\"Team meeting\"  },  \"attendees\": [ { \"emailAddress\": {     \"address\":\"xxxx@in.xxx.com\", \"name\": \"xxxx xxxx\" }, \"type\": \"required\" } ],\"allowNewTimeProposals\": \"true\"}";
            client = new RestClient("https://graph.microsoft.com/v1.0/me/events");
            request = new RestRequest(Method.POST);         
            request.AddHeader("cache-control", "no-cache");
            request.AddHeader("content-type", "application/json");
            request.AddHeader("authorization", "Bearer " + token);
            request.AddHeader("accept-language", "en");
            request.AddHeader("accept", "application/json");            
            request.AddParameter("application/json", string, ParameterType.RequestBody);
            response = client.Execute(request);