【问题标题】:LiveID API fails - missing tokenLiveID API 失败 - 缺少令牌
【发布时间】:2011-07-25 00:53:07
【问题描述】:

我正在尝试从 LiveID API 检索一些信息,但出现错误:

The provided request does not include an access token. An access token is
required in order to request this resource.

代码比较简单;我包括库,使用从 WIF 获得的 nameidentifier 声明调用初始化程序,然后请求 me 路径。

从错误消息中我推测我未能提供访问令牌...但是自从我成功检索到声明后,我的应用程序不会已经有这个吗?

这是我的代码:

<script src="https://js.live.net/v5.0/wl.js" type="text/javascript"></script>

<script type="text/javascript">
WL.init({ client_id: 'O0UpnnhoiFljBJAtTxhVliu4qtbUWoEVxdgfK7SBR+M=' });
WL.api({ path: "me", method: "GET" }, function (response) {
    // response.error.message
});

* 更新 *

我想到也许我需要登录系统,所以我现在有:

WL.init({ client_id: 'O0UpnnhoiFljBJAtTxhVliu4qtbUWoEVxdgfK7SBR+M=' });
WL.login();
WL.api({ path: "me", method: "GET" }, function (response) {

但同样的错误...

【问题讨论】:

    标签: claims-based-identity wif windows-live-id liveid


    【解决方案1】:

    所以它有点复杂...显然必须在以下位置创建一个带有 LiveID 系统的应用程序:

    https://manage.dev.live.com/
    

    网站给你一个ClientID,然后代码需要是这样的:

    <script src="https://js.live.net/v5.0/wl.js" type="text/javascript"></script>
    <script type="text/javascript">
    WL.init({ client_id: '#YOUR-CLIENT-ID-HERE#' });
    WL.login({ scope: ["wl.signin"] });
    WL.api({ path: "me", method: "GET" }, function (response) {
        alert(response.first_name + ' ' + response.last_name);
    });
    

    有趣的是,我看到自己登录的 ekkis 在任何地方都没有出现,我现在很困惑,但我想我一直在使用 Passport 帐户,以为它是 LiveID 帐户.我不确定我是否理解其中的区别,但现在我已将我的 LiveID 帐户配置为具有名字/姓氏,一切正常。

    最后一点:在 live.com 网站上创建应用程序需要提供返回 url。当WL.login() 被调用时,浏览器会弹出一个窗口,请求用户授予权限(即使他/她已经登录)。当用户单击 Ok 时,返回 url 被加载到那个窗口中。 grr...所以现在你必须有一个特殊的页面,它所做的只是关闭窗口(除非这里的其他人可以建议它应该如何工作)。

    * 更新 *

    我想要的是该死的电子邮件(我可以从所有其他 IP 获得)。这样做:

    WL.login({ scope: ["wl.signin", "wl.emails"] });
    

    然后:

    WL.api({ path: "me", method: "GET" }, function (response) {
        $('#Auth .SignedIn').html(response.emails.account);
    });
    

    这将获得与该帐户关联的电子邮件地址。还有其他可用的电子邮件,请参阅:http://msdn.microsoft.com/en-us/library/hh243648.aspx#user

    【讨论】:

      猜你喜欢
      • 2015-05-04
      • 1970-01-01
      • 2017-05-05
      • 2017-04-12
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 2022-10-19
      • 2021-07-25
      相关资源
      最近更新 更多