Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Uwp 如何检索Microsoft Store ID密钥?_Uwp_Windows Store - Fatal编程技术网

Uwp 如何检索Microsoft Store ID密钥?

Uwp 如何检索Microsoft Store ID密钥?,uwp,windows-store,Uwp,Windows Store,我正在尝试学习如何检索Microsoft Store ID密钥。为此,我遵循了Microsoft在中提供的示例。我尝试使用企业对企业场景(场景7)。我已经发布了一个示例应用程序,并在Azure Active Directory中注册了该应用程序。问题是我不知道应该在getCustomerCollectionsIdAsync/getCustomerPurchaseIdAsync函数中发送什么值作为publisherUserId参数。我尝试发送当前用户的电子邮件(客户电子邮件),该电子邮件仅检索空结

我正在尝试学习如何检索Microsoft Store ID密钥。为此,我遵循了Microsoft在中提供的示例。我尝试使用企业对企业场景(场景7)。我已经发布了一个示例应用程序,并在Azure Active Directory中注册了该应用程序。问题是我不知道应该在getCustomerCollectionsIdAsync/getCustomerPurchaseIdAsync函数中发送什么值作为publisherUserId参数。我尝试发送当前用户的电子邮件(客户电子邮件),该电子邮件仅检索空结果(Microsoft Store ID密钥)

如果您处于开发阶段,可以尝试此方法。如果你一直担心将应用程序提交到商店进行Facebook身份验证,那么这将非常有用。下面是我从中得到的参考资料。希望这有帮助


我也面临同样的问题,以下是适合我的解决方案

转到,选择“Azure Active Directory”,选择“应用程序注册”,在右侧面板中选择您的应用程序。然后选择Manifest来编辑它。将以下字段设置为该值:

"accessTokenAcceptedVersion": 1,
"identifierUris": [
    "https://onestore.microsoft.com",
    "https://onestore.microsoft.com/b2b/keys/create/collections",
    "https://onestore.microsoft.com/b2b/keys/create/purchase"
    ],
"signInAudience": "AzureADMyOrg",
get令牌请求()的资源字段必须是精确的字符串“”(请注意,域部分是“onestore.microsoft.com”)

附言: 我找到此解决方案的方法:

  • 使用charles ssl代理记录我的c#项目与storeContext.getCustomerCollectionsIdAsync api的请求。找出它发送的url是“”,请求主体包含我发送给它的令牌
  • 使用charles ssl代理记录其他应用程序的请求,这些应用程序可以像“热点屏蔽”一样正常工作,尝试从中购买一些东西,然后取消。找到url的请求并下载请求正文和base64原始url以解码其令牌的第二部分,发现“aud”是“”,而“ver”是“1.0”
  • 更改“应用程序注册”和令牌获取代码的配置,使结果令牌为1.0版和“aud”为正确的版本

我认为“Azure Active Directory”已更新到版本2,但“Microsoft Store ID key”的文档未更新到该版本…

该参数是可选的,如果您维护匿名用户ID以便在其服务中使用,则可以将
客户电子邮件作为参数传递。您能告诉我您传递的电子邮件是客户还是发布者吗?@NicoZhu MSFT作为PublisherId传递的参数是客户电子邮件。您是否尝试过不传递
PublisherId
参数?@NicoZhu MSFT是,由于缺少参数,它引发异常。(0x800a13ee-JavaScript运行时错误:getCustomerCollectionsIdAsync:函数调用时参数太少)我遇到了相同的问题,然后我使用charles ssl代理记录uwp发送到的https请求,并获取详细错误消息,如{“code”:“Unauthorized”,“data”:[],“details”:[],“innererror”:{“code”:“AuthenticationTokenInvalid”、“data”:[]、“details”:[]、“message”:“提供的身份验证令牌无效”},“message”:“客户端无权执行请求的操作”。、“source”:“CollectionsFD”}
using Windows.Security.Authentication.Web;
...
string SID = WebAuthenticationBroker.GetCurrentApplicationCallbackUri().ToString();
"accessTokenAcceptedVersion": 1,
"identifierUris": [
    "https://onestore.microsoft.com",
    "https://onestore.microsoft.com/b2b/keys/create/collections",
    "https://onestore.microsoft.com/b2b/keys/create/purchase"
    ],
"signInAudience": "AzureADMyOrg",