Считайте код устройства из потока кода устройства с помощью Java; МСАЛ; API Microsoft GraphJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Считайте код устройства из потока кода устройства с помощью Java; МСАЛ; API Microsoft Graph

Сообщение Anonymous »

Ниже приведен мой код, и мне нужен способ скопировать URL-адрес и код устройства в переменную, чтобы я мог использовать селен для входа в браузер и использовать код для аутентификации. Единственная проблема заключается в том, что я не могу найти способ скопировать поток кода устройства.

Код: Выделить всё

package com.eclerx.email;

import java.util.Arrays;
import java.util.List;

import com.azure.identity.DeviceCodeCredential;
import com.azure.identity.DeviceCodeCredentialBuilder;
import com.microsoft.graph.authentication.TokenCredentialAuthProvider;
import com.microsoft.graph.models.Message;
import com.microsoft.graph.models.User;
import com.microsoft.graph.requests.GraphServiceClient;
import com.microsoft.graph.requests.MessageCollectionPage;

import okhttp3.Request;

public class DeviceCodeCredentialsTest {

private String deviceCode;
private static final List graphApiScopes =
Arrays.asList("https://graph.microsoft.com/.default");

public DeviceCodeCredentialsTest() {
}

public static AccessProvider initializeGraphForUserAuth() {

final DeviceCodeCredential deviceCodeCred = new
DeviceCodeCredentialBuilder().clientId(Constants.CLIENT_ID)
.tenantId(Constants.AUTH_TENANT)
.challengeConsumer(challange -> System.out.println("**" +
challange.getMessage())).build();

System.out.println(deviceCodeCred.toString());

TokenCredentialAuthProvider tokenCredentialAuthProvider = new
TokenCredentialAuthProvider(graphApiScopes,
deviceCodeCred);

System.out.println("Token " + tokenCredentialAuthProvider.toString());

GraphServiceClient graphServiceClient = GraphServiceClient.builder()
.authenticationProvider(tokenCredentialAuthProvider).buildClient();

System.out.println(graphServiceClient.toString());

return new AccessProvider(graphServiceClient, tokenCredentialAuthProvider);
}

public static void main(String[] args) {
AccessProvider accessProvider = initializeGraphForUserAuth();
System.out.println("token : " + accessProvider.accessToken());

System.out.println("User name : " + accessProvider.getServiceClient().users());
User user = accessProvider.getServiceClient().me().buildRequest().get();

final MessageCollectionPage messagePage = accessProvider.getServiceClient().me().messages().buildRequest()
.top(3).select("subject").get();

List messageList = messagePage.getCurrentPage();

for (Message msg : messageList) {
System.out.println("Subject -> " + msg.subject);
}
}
Вывод приведенного выше кода показан ниже

Код: Выделить всё

To sign in, use a web browser to open the page
https://microsoft.com/devicelogin and enter
the code ABCDEFGHI to authenticate.
Мне нужен способ скопировать приведенный выше код устройства

Подробнее здесь: https://stackoverflow.com/questions/793 ... -graph-api
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»