Я использую microsoft-graph:6.12.0 в своем Java-приложении для Android. Я пытаюсь найти файлы на onedrive.
Как я могу получить authorizsationCode за AuthorizationCodeCredentialBuilder.
final AuthorizationCodeCredential credential = new AuthorizationCodeCredentialBuilder()
.clientId(CLIENT_ID).tenantId(TENANT_ID).clientSecret(CLIENT_SECRET_VALUE)
.authorizationCode(authorizationCode).redirectUrl(REDIRECT_URL).build();
Спасибо ГГК




Первоначально зарегистрируйте одно приложение Entra ID с URI перенаправления, как показано ниже:
Обязательно предоставьте Files.Read разрешение типа «Делегированный» в этом приложении:
Чтобы получить код авторизации, вам необходимо запустить в браузере следующий запрос, который просит пользователя войти в систему следующим образом:
https://login.microsoftonline.com/tenantId/oauth2/v2.0/authorize?
client_id=appId
&redirect_uri=https://jwt.ms
&response_type=code
&response_mode=query
&scope=Files.Read
&state=12345
После успешной аутентификации вы получите код авторизации в адресной строке следующим образом:
В моем случае я использовал приведенный ниже пример Java-кода, чтобы получить диск пользователя, включив такое значение authorizationCode:
Главный.java:
import com.azure.identity.AuthorizationCodeCredential;
import com.azure.identity.AuthorizationCodeCredentialBuilder;
import com.microsoft.graph.models.Drive;
import com.microsoft.graph.serviceclient.GraphServiceClient;
public class Main {
public static void main(String[] args) {
final String clientId = "appId";
final String tenantId = "tenantId";
final String clientSecret = "secret";
final String authorizationCode = "code_value";
final String redirectUrl = "https://jwt.ms";
final String[] scopes = new String[] { "Files.Read" };
final AuthorizationCodeCredential credential = new AuthorizationCodeCredentialBuilder()
.clientId(clientId).tenantId(tenantId).clientSecret(clientSecret)
.authorizationCode(authorizationCode).redirectUrl(redirectUrl).build();
final GraphServiceClient graphClient = new GraphServiceClient(credential, scopes);
Drive response = graphClient.me().drive().get();
System.out.println("Drive ID: "+ response.getId());
}
}
Ответ:
Ссылка:
Выберите поставщика аутентификации Microsoft Graph — Microsoft Graph
Чтобы получить код авторизации, вам необходимо запустить запрос авторизации в браузере, который выдает
codeв адресной строке после входа в систему. См. это stackoverflow.com/questions/77431323/…