#c# #microsoft-graph-api
#c# #microsoft-graph-api
Вопрос:
Я пытаюсь создать простое консольное приложение на C #, которое позволило бы мне вызывать в этом случае бета-api. Я также пытаюсь вызвать метод делегирования метода.
Это мой основной вызов
static void Main(string[] args)
{
const string clientId = <clientID>;
const string tenantId = <tenantID>;
const string clientSecret = <secretKey>;
const string tokenUrl = "https://login.microsoftonline.com/common/oauth2/v2.0/token";
List<string> scopeURL = new List<string>();
scopeURL.Add("https://graph.microsoft.com/.default");
var graphClient = DelegateApp(clientId,tenantId,clientSecret,scopeURL);
try
{
getUsersAsync(graphClient).GetAwaiter().GetResult();
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
}
Вот как я определил свой вызов graph
private static GraphServiceClient DelegateApp(string clientId, string tenantId, string clientSecret, List<string> scope)
{
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithClientSecret(clientSecret)
.Build();
OnBehalfOfProvider authProvider = new OnBehalfOfProvider(confidentialClientApplication, scope);
var graphClient = new GraphServiceClient(authProvider);
graphClient.BaseUrl = "https://graph.microsoft.com/beta";
return graphClient;
}
И это то, что я пытаюсь вызвать
public async static Task getUsersAsync(GraphServiceClient client)
{
try
{
var bookingBusiness = await client.BookingBusinesses.Request().GetAsync();
foreach (var business in bookingBusiness)
{
Console.WriteLine(business.DisplayName);
}
}
catch(Exception ex)
{
Console.WriteLine(ex.Message);
}
}
Это исключение, которое я получаю.
например.Message = «Code: generalException r nMessage: произошла ошибка при отправке запроса.r n»
Это происходит, когда я вызываю client.bookingbusinesses.request.getasync();
Комментарии:
1. Можете ли вы пройти аутентификацию с помощью graph client, используя свои учетные данные? Я заметил, что функция, которая у вас есть, вызывается
DelegateApp
, однако ваши первые ссылки на функцииNonDelegateApp
.2. Извините, исправлю, у меня изначально было два метода, один для делегирования и неразрешения. но да, я попробовал
3. Однако меня не просят войти в систему или что-то в этом роде
4. Если это не проблема с аутентификацией / авторизацией, проверьте все внутренние исключения и убедитесь, что коллекция существует в вашем удаленном графике.