为什么WP7 Live SKD中有更多的范围可以接受?

时间:2012-02-29 20:27:08

标签: c# windows-phone-7 xaml

我正在尝试使用适用于Windows Phone的Windows Live SDK,并尝试使用来自互联网的一些示例代码访问SkyDrive。现在我对我的xaml文件中设置的Scopes属性感到有点困惑:

<Microsoft_Live_Controls:SignInButton Content="SignInButton"
                                               ClientId="00000000XXXXXXX"
                                               Scopes="wl.skydrive_update"
                                               RedirectUri="https://oauth.live.com/desktop"

我可以在登录并接受策略后创建我的第一个文件夹。从现在开始,我试图通过此调用读取根文件夹:

GetAsync("me/skydrive/files");

但它永远导致System.Windows.dll中的System.NotSupportedException,并且永远不会到达事件处理代码。我无法本地化我所犯的错误,所以我尝试更改Scopes属性,因为不同的示例使用不同的Scopes。

现在出现了令人困惑的部分。我在Scopes属性中遇到的每个更改都会导致相同的策略页面。即使我将其设置为“wl.basic”,我也必须接受访问和更新skydrive策略。

我不明白。我重新启动了IDE和模拟器,甚至在最后重新启动了我的机器。

有人对我有解释吗?

如果有人可以帮助解决上述例外问题,请随时发表评论。

1 个答案:

答案 0 :(得分:0)

网站首次连接到Windows Live时会缓存范围。

因此,无论您之后如何更改登录范围,您始终都会获得相同的政策页面。

要强制新页面,您可以删除Windows Live应用程序并创建一个新应用程序,并使用新的客户端ID。

来源:http://social.msdn.microsoft.com/Forums/en-US/messengerconnect/thread/37be752f-2ebf-4342-ab4e-0e5506415e61