From 3fb7fa45a364888085c2ac81832ed753da13510f Mon Sep 17 00:00:00 2001 From: Emilio Munoz Date: Thu, 23 Apr 2020 04:01:53 -0700 Subject: [PATCH 1/7] Adding bot and graph search --- .../pom.xml | 13 +- .../teamssearchauth/SimpleAuthProvider.java | 22 + .../teamssearchauth/SimpleGraphClient.java | 51 ++ ...essagingExtensionsSearchAuthConfigBot.java | 472 ++++++++++++------ .../main/resources/public/searchSettings.html | 54 ++ 5 files changed, 451 insertions(+), 161 deletions(-) create mode 100644 samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleAuthProvider.java create mode 100644 samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleGraphClient.java create mode 100644 samples/52.teams-messaging-extensions-search-auth-config/src/main/resources/public/searchSettings.html diff --git a/samples/52.teams-messaging-extensions-search-auth-config/pom.xml b/samples/52.teams-messaging-extensions-search-auth-config/pom.xml index 4f9f9771a..383dcc517 100644 --- a/samples/52.teams-messaging-extensions-search-auth-config/pom.xml +++ b/samples/52.teams-messaging-extensions-search-auth-config/pom.xml @@ -48,6 +48,11 @@ + + com.microsoft.graph + microsoft-graph + 1.7.1 + junit junit @@ -82,7 +87,13 @@ 4.0.0-SNAPSHOT compile - + + org.json + json + 20190722 + compile + + diff --git a/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleAuthProvider.java b/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleAuthProvider.java new file mode 100644 index 000000000..b2439758d --- /dev/null +++ b/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleAuthProvider.java @@ -0,0 +1,22 @@ +package com.microsoft.bot.sample.teamssearchauth; + +import com.microsoft.graph.authentication.IAuthenticationProvider; +import com.microsoft.graph.http.IHttpRequest; + +/** + * SimpleAuthProvider + */ +public class SimpleAuthProvider implements IAuthenticationProvider { + + private String accessToken; + + public SimpleAuthProvider(String accessToken) { + this.accessToken = accessToken; + } + + @Override + public void authenticateRequest(IHttpRequest request) { + // Add the access token in the Authorization header + request.addHeader("Authorization", "Bearer " + accessToken); + } +} diff --git a/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleGraphClient.java b/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleGraphClient.java new file mode 100644 index 000000000..2764b33f3 --- /dev/null +++ b/samples/52.teams-messaging-extensions-search-auth-config/src/main/java/com/microsoft/bot/sample/teamssearchauth/SimpleGraphClient.java @@ -0,0 +1,51 @@ +package com.microsoft.bot.sample.teamssearchauth; + + +import com.microsoft.graph.logger.DefaultLogger; +import com.microsoft.graph.logger.LoggerLevel; +import com.microsoft.graph.models.extensions.Message; +import com.microsoft.graph.options.Option; +import com.microsoft.graph.options.QueryOption; +import com.microsoft.graph.requests.extensions.GraphServiceClient; +import com.microsoft.graph.models.extensions.IGraphServiceClient; +import com.microsoft.graph.requests.extensions.IMessageCollectionPage; + +import java.util.LinkedList; +import java.util.List; + +public class SimpleGraphClient { + + private String token; + public SimpleGraphClient(String token) { + this.token = token; + } + + public List searchMailInbox (String search) { + IGraphServiceClient client = getAuthenticatedClient(); + + final List