在WPF应用程序中查找Microsoft帐户令牌

时间:2018-04-11 14:52:28

标签: wpf desktop-bridge

我已经使用Desktop Bridge在商店中发布了WPF应用程序。 我已经设置了

  • 一些附加组件,
  • 一个有人员的客户群
  • 附加组件和客户组(如上所述)的目标报价

当该群组的用户安装该应用程序时,他未被授予该附加组件。

我该如何解决这个问题?

我找到this documentation但它应该在UW​​P应用程序中执行,我的是通过桌面桥发布的WPF。

更多信息:

当我尝试使用以下代码检索MSA令牌时:

    private async Task<string> GetMicrosoftAccountTokenAsync()
    {
        var msaProvider = await WebAuthenticationCoreManager.FindAccountProviderAsync(
            "https://login.microsoft.com", "consumers");

        var request = new WebTokenRequest(msaProvider, "devcenter_implicit.basic,wl.basic");            
        var result = await WebAuthenticationCoreManager.RequestTokenAsync(request);

        return (result.ResponseStatus == WebTokenRequestStatus.Success)
            ? result.ResponseData[0].Token
            : string.Empty;
        }
    }

尝试执行此行时出现此错误:await WebAuthenticationCoreManager.RequestTokenAsync(request);

  

System.Exception:&#39;可能无法在没有CoreWindow的线程上创建资源上下文。 (HRESULT的例外情况:0x80073B27)&#39;

如何在WPF UserControl

上指定CoreWindow

1 个答案:

答案 0 :(得分:0)

正如Use targeted offers to maximize engagement and conversions主题提示,

  

目标优惠只能与包含附加组件的UWP应用一起使用。

但根据UWP APIs available to a packaged desktop app (Desktop Bridge)文档

,您的应用是一个打包的WPF应用
  

大多数UWP API在打包的桌面应用程序上运行良好。但是,某些功能区域尚未经过全面测试或目前正在按预期运行。

因此,您可以在Use targeted offers to maximize engagement and conversions文档之后尝试使用桌面桥接wpf应用中的定位优惠,在信息中心内创建优惠并实施应用内优惠体验,然后将应用提交到商店。