Отображение присутствия / статуса пользователя с помощью веб-SDK Skype или UCWA в приложении UWP

У меня есть требование просто показать / отобразить присутствие пользователя Skype для бизнеса (занят, доступен, не работает и т. Д.) В приложении UWP.

Я просмотрел следующие документы,

Skype Web SDK

Я обнаружил, что с помощью Skype Web SDK мы можем показать это, но меня удивляет, как я могу использовать Skype Web SDK в приложении UWP.

Кто-нибудь может знать, как я могу использовать Skype Web SDK в приложении UWP? или Если у вас есть другой способ обеспечить присутствие пользователя Skype, пожалуйста, помогите мне.

Я также пытался использовать UCWA 2.0, но мне не удалось получить uris приложения


person narendramacha    schedule 08.09.2016    source источник


Ответы (2)


Я нашел ответ на свой вопрос после прочтения следующих сообщений

Образец консольного приложения (на основе C #)

Понимание потока и как получить URL-адреса приложений

Переполнение стека

Чтобы получить User Presence, я добавил еще один метод к UcwaPresence, как показано ниже: (Вы найдете вспомогательный класс UcwaPresence в вышеупомянутом образце приложения)

У вас есть метод GetPresenceURL в вспомогательном классе UcwaPresence, с помощью которого вы можете получить ucwaPresenceRootUri.

Как только вы получите URL-адрес GetPresence (здесь, в моем случае, ucwaPresenceRootUri), вызовите следующий метод, чтобы получить статус

public static async Task<string> GetPresence(HttpClient httpClient, AuthenticationResult ucwaAuthenticationResult, String ucwaPresenceRootUri)
    {
        httpClient.DefaultRequestHeaders.Clear();
        httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", ucwaAuthenticationResult.AccessToken);
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        var httpResponseMessage =
            httpClient.GetAsync(ucwaPresenceRootUri).Result;
        var presenceJsonStr = await httpResponseMessage.Content.ReadAsStringAsync();
        var presenceObj = JsonConvert.DeserializeObject<UcwaPresenceObject>(presenceJsonStr);
        Debug.WriteLine(presenceJsonStr);
        return presenceObj.availability;
    }

Кредиты

tam-huynh

person narendramacha    schedule 08.09.2016

Если вы используете реализацию Javascript для создания приложений UWP, вы можете использовать Skype Web SDK. Вам просто нужно включить Skype Web SDK в свое приложение, а затем вы можете напрямую использовать методы из своего приложения. Вы можете сослаться на это http://blog.Shouldtstuff.co.uk/2016/03/skype-web-sdk-online-setting-everything-up-step-by-step-guide/

person Shahzad    schedule 08.09.2016
comment
Спасибо за вашу ценную информацию, Шахзад, Есть ли способ, которым я могу подписаться на события для изменения присутствия пользователя. Я имею в виду, что хочу уведомлять свое клиентское приложение, когда пользователь меняет свой статус. Является ли это возможным? - person narendramacha; 09.09.2016
comment
@narendramacha Да, определенно есть. Когда вы получаете доступ к объекту Person, вы можете подписаться на изменения с помощью объекта person. Что-то вроде person.status.changed(function (newStatus) { // handle status change }); Вы также можете воспользоваться этими ссылками Образцы Skype Web SDK - person Shahzad; 09.09.2016
comment
можно ли сделать то же самое с помощью rest ucwa apis? Поскольку я использовал ucwa, если да, можете ли вы поделиться, как подписаться с помощью rest apis? - person narendramacha; 12.09.2016
comment
Ошибка 403 - это веб-приложение остановлено. - страница, на которую вы ссылаетесь, не работает. Не могли бы вы использовать paste.ubuntu.com или gist.github.com, чтобы вставить содержимое, чтобы оно было навсегда, пожалуйста? - person ; 20.10.2016