Създавам приложение на Azure AD, което използва новия предварителен преглед на делегираните разрешения на Yammer, за да публикувам съобщение в Yammer, използвайки маркера за достъп, който получих от Azure AD. За съжаление, получавам отговор 401 Unauthorized
, когато се опитвам да извикам API на Yammer Rest.
Ето примерния код:
var resourceId = "https://www.yammer.com";
var endpointUrl = "https://www.yammer.com/api/v1/messages/following.json";
AuthenticationHelper helper = new AuthenticationHelper();
helper.EnsureAuthenticationContext(AuthenticationHelper.AuthorityMultitenant, resourceId);
var token = helper.AuthenticationResult.AccessToken;
HttpClient hc = new HttpClient();
hc.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
var result = await hc.GetAsync(new Uri(new Uri("https://www.yammer.com"), endpointUrl));
Тук получавам 401 Unauthorized
със съобщение „Неуспешно удостоверяване“. Опитах също с api.yammer.com вместо www.yammer.com, без промяна. Знам, че токените се извличат правилно, тъй като ги тествах с други API на Office 365 REST.
Моето предположение е, че токенът е в неприет формат, но се предполага, че приема Azure Tokens сега, след като са добавени делегираните разрешения. Използвам ли грешен идентификатор на ресурс и крайна точка?