Разархивирование MSGraph API Команда и группа восстановления не работают - PullRequest
0 голосов
/ 24 апреля 2020

В MSTeams есть ошибка (я думаю), когда вы удаляете группу в Azure, команда в MSTeams все еще доступна. Поэтому я заархивирую его перед удалением группы.

Теперь я хочу разархивировать его и восстановить группу. Ни один из этих вызовов не работает ...

graphApplicationClient.teams({teamId}).unarchive().buildRequest().post();

Ошибка:

    Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Starting to send request, URL https://graph.microsoft.com/v1.0/teams/{teamId}/microsoft.graph.unarchive
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Request Method POST
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: CoreHttpProvider[send] - 204Error during http request
Apr. 24, 2020 5:01:55 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: Throwable detail: com.microsoft.graph.core.ClientException: Error during http request
Exception in thread "main" com.microsoft.graph.core.ClientException: Error during http request
    at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:421)
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:204)
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:184)
    at com.microsoft.graph.http.BaseRequest.send(BaseRequest.java:306)
    at com.microsoft.graph.requests.extensions.TeamUnarchiveRequest.post(TeamUnarchiveRequest.java:62)
    at MSTeamsService.main(MSTeamsService.java:65)
Caused by: java.lang.NullPointerException
    at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
    at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
    at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
    at java.base/java.util.regex.Pattern.matcher(Pattern.java:1134)
    at okhttp3.MediaType.get(MediaType.java:53)
    at okhttp3.MediaType.parse(MediaType.java:106)
    at com.microsoft.graph.http.CoreHttpProvider$3.contentType(CoreHttpProvider.java:346)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:53)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.TelemetryHandler.intercept(TelemetryHandler.java:35)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.RedirectHandler.intercept(RedirectHandler.java:123)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.RetryHandler.intercept(RetryHandler.java:140)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.AuthenticationHandler.intercept(AuthenticationHandler.java:31)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
    at okhttp3.RealCall.execute(RealCall.java:92)
    at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:355)
    ... 5 more

А другой вызов:

     graphApplicationClient.directory().deletedItems({team/groupId}).restore().buildRequest().post();

ОШИБКА:

    Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Starting to send request, URL https://graph.microsoft.com/v1.0/directory/deletedItems/{team/groupId}/microsoft.graph.restore
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logDebug
INFORMATION: Request Method POST
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: CoreHttpProvider[send] - 204Error during http request
Apr. 24, 2020 5:04:14 PM com.microsoft.graph.logger.DefaultLogger logError
SCHWERWIEGEND: Throwable detail: com.microsoft.graph.core.ClientException: Error during http request
Exception in thread "main" com.microsoft.graph.core.ClientException: Error during http request
    at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:421)
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:204)
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:184)
    at com.microsoft.graph.http.BaseRequest.send(BaseRequest.java:306)
    at com.microsoft.graph.requests.extensions.DirectoryObjectRestoreRequest.post(DirectoryObjectRestoreRequest.java:53)
    at MSTeamsService.main(MSTeamsService.java:66)
Caused by: java.lang.NullPointerException
    at java.base/java.util.regex.Matcher.getTextLength(Matcher.java:1770)
    at java.base/java.util.regex.Matcher.reset(Matcher.java:416)
    at java.base/java.util.regex.Matcher.<init>(Matcher.java:253)
    at java.base/java.util.regex.Pattern.matcher(Pattern.java:1134)
    at okhttp3.MediaType.get(MediaType.java:53)
    at okhttp3.MediaType.parse(MediaType.java:106)
    at com.microsoft.graph.http.CoreHttpProvider$3.contentType(CoreHttpProvider.java:346)
    at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.java:53)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:126)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.TelemetryHandler.intercept(TelemetryHandler.java:35)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.RedirectHandler.intercept(RedirectHandler.java:123)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.RetryHandler.intercept(RetryHandler.java:140)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at com.microsoft.graph.httpcore.AuthenticationHandler.intercept(AuthenticationHandler.java:31)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:147)
    at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:121)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:254)
    at okhttp3.RealCall.execute(RealCall.java:92)
    at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:355)
    ... 5 more

(SCHWERWIEGEND означает FATAL)

Если я попробую эти вызовы в GraphExplorer, они будут работать нормально ..

Может кто-нибудь мне помочь?

С уважением!

1 Ответ

0 голосов
/ 02 мая 2020

Для всех, кто сталкивается с той же проблемой, что и я. GraphAPI предоставляет функцию customRequest (). Я использую тот же токен, тот же URL, те же свойства, но использую customRequest.

graphApplicationClient.customRequest("/teams/" + pTeamId + "/unarchive").buildRequest().post(new JsonObject());

То же решение для восстановления ..

graphApplicationClient.customRequest("/directory/deletedItems/" + pTeamId + "/restore").buildRequest().post(new JsonObject()

Это не правильное решение для этого, потому что это должно работать с нормальным GraphAPI, поэтому я не отмечаю это как ответ. Но это обходной путь для всех, у кого такая же проблема ..

...