【问题标题】:Display the user presence/status using Skype web SDK or UCWA in UWP app在 UWP 应用中使用 Skype Web SDK 或 UCWA 显示用户存在/状态
【发布时间】:2017-01-15 23:49:45
【问题描述】:

我有一个要求,只是想在 UWP 应用中显示/显示 Skype 以供业务用户状态(忙碌、有空、下班等)。

我已经阅读了以下文档,

Skype Web SDK

我发现使用 Skype Web SDK 可以证明这一点,但我很惊讶如何在 UWP 应用程序中使用 Skype Web SDK。

谁能知道如何在 UWP 应用中使用 Skype Web SDK?或者如果有任何其他方式来获得 Skype 用户的存在,请帮助我。

我也尝试使用 UCWA 2.0 ,但被击中获取应用程序 uris

【问题讨论】:

    标签: uwp skype-for-business skypedeveloper ucwa


    【解决方案1】:

    阅读以下帖子后,我找到了问题的答案

    A Sample Console Application (C# based)

    了解流程以及如何获取应用程序 URL

    Stack Overflow

    为了获得用户状态,我向 UcwaPresence 添加了一个方法,如下所示:(您将在上述示例应用中找到 UcwaPresence 帮助器类)

    您在 UcwaPresence 帮助器类中有一个 GetPresenceURL 方法,借助该方法您可以获得 ucwaPresenceRootUri。

    一旦您获得 GetPresence URL(在我的例子中称为 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

    【讨论】:

      【解决方案2】:

      如果您使用 Javascript 实施来构建 UWP 应用,您可以使用 Skype Web SDK。您只需要在您的应用程序中包含 Skype Web SDK,然后您就可以直接使用您的应用程序中的方法。你可以参考这个 http://blog.thoughtstuff.co.uk/2016/03/skype-web-sdk-online-setting-everything-up-step-by-step-guide/

      【讨论】:

      • 感谢您提供宝贵的信息 Shahzad,有没有一种方法可以订阅用户状态更改的事件。我的意思是当用户更改他/她的状态时,我想通知我的客户端应用程序。有可能吗?
      • @narendramacha 是的,肯定有。当您访问 Person 对象时,您可以使用 person 对象订阅更改。 person.status.changed(function (newStatus) { // handle status change }); 之类的也可以参考这些链接Skype Web SDK Samples
      • 是否可以使用 rest ucwa apis 做同样的事情?因为我用的是 ucwa ,如果可以,你能分享一下如何使用 rest apis 订阅吗?
      • “错误 403 - 此 Web 应用程序已停止。” - 您链接的网页不起作用。能否请您使用paste.ubuntu.comgist.github.com 粘贴内容以永久拥有它们?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-28
      • 2020-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多