Какой помп мне нужно использовать для работы с Azure Graph в Java? - PullRequest
0 голосов
/ 26 марта 2020

Я работаю со Spring и хочу настроить pom, чтобы я мог выполнять вызовы Azure Graph API в Java. Соответствующие части моего pom:

<dependency>
            <groupId>com.microsoft.graph</groupId>
            <artifactId>microsoft-graph</artifactId>
            <version>1.7.1</version>
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>com.sun.jersey</groupId>
                    <artifactId>jersey-server</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.microsoft.graph</groupId>
            <artifactId>microsoft-graph-auth</artifactId>
            <version>0.1.0</version>
        </dependency>
        <dependency>
            <groupId>com.microsoft.graph</groupId>
            <artifactId>microsoft-graph-core</artifactId>
            <version>1.0.0</version>
        </dependency>

Когда я выполняю вызов, чтобы узнать информацию о пользователе с помощью метода, я получаю ошибку в com.microsoft.graph.requests.extensions.UserCollectionRequest.get. Я получаю следующую трассировку стека:

java.lang.NoSuchMethodError: okhttp3.Request$Builder.tag(Ljava/lang/Class;Ljava/lang/Object;)Lokhttp3/Request$Builder;
    at com.microsoft.graph.http.CoreHttpProvider.sendRequestInternal(CoreHttpProvider.java:268) ~[microsoft-graph-1.7.1.jar!/:na]
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:204) ~[microsoft-graph-1.7.1.jar!/:na]
    at com.microsoft.graph.http.CoreHttpProvider.send(CoreHttpProvider.java:184) ~[microsoft-graph-1.7.1.jar!/:na]
    at com.microsoft.graph.http.BaseCollectionRequest.send(BaseCollectionRequest.java:89) ~[microsoft-graph-1.7.1.jar!/:na]
    at com.microsoft.graph.requests.extensions.UserCollectionRequest.get(UserCollectionRequest.java:52) ~[microsoft-graph-1.7.1.jar!/:na]
    at util.MicrosoftGraphService.getUserByEmail(MicrosoftGraphService.java:70) ~[classes!/:na]

Есть идеи, как мне это исправить?

1 Ответ

0 голосов
/ 27 марта 2020

Похоже, доступна только 0.1.0-SNAPSHOT версия microsoft-graph-auth. Кроме того, я попытался использовать Maven для установки Auth SDK, будут некоторые проблемы. Вы можете использовать Gradle для установки auth sdk.

Добавить репозиторий и зависимость компиляции для microsoft-graph-auth в build.gradle вашего проекта

repository {
    jcenter()
    jcenter{
        url 'http://oss.jfrog.org/artifactory/oss-snapshot-local'
    }
}

dependency {
    // Include the sdk as a dependency
    compile('com.microsoft.graph:microsoft-graph-auth:0.1.0-SNAPSHOT')
}

Вот рабочий пример для Ваша ссылка:

public static void main(String [] rags){
        UsernamePasswordProvider authProvider = new UsernamePasswordProvider("{client_id}", Arrays.asList("https://graph.microsoft.com/User.Read.All") , "{username}", "{password}", NationalCloud.Global, "{tenant}", "{cient_secret}");
        IGraphServiceClient graphClient = GraphServiceClient
                .builder()
                .authenticationProvider(authProvider)
                .buildClient();
        IUserCollectionPage userCollectionPage = graphClient.users().buildRequest().get();
        List<User> userList=userCollectionPage.getCurrentPage();
    }

Вы также можете сослаться на мой ответ здесь .

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