0

我正在使用 Javascript 连接到 Skydrive API。我的第一步是向发起人授予 oAuth 权限。我所做的是将 uri 回调到我自己的网站。每当我连接到服务时,它都会打开我的回调 uri(在获取范围和权限之后)。然后我有我的回电 uri

mydomain.com#accessToken=dsfe23423v{710 chars}

问题是我使用的是纯客户端 JS/HTML/HTML%.. 我无法捕获这个访问令牌,我必须手动对其进行硬编码才能进一步使用它......你能看看有什么问题吗:

这是我的代码::

<script src="http://js.live.net/v5.0/wl.js" type="text/javascript"></script>
<script type="text/javascript">
    var APPLICATION_CLIENT_ID = '0000X00004003C03',
            REDIRECT_URL = "http://www.myweb.com";

    WL.Event.subscribe("auth.login", onLogin);
    WL.init({
        client_id: APPLICATION_CLIENT_ID,
        redirect_uri: REDIRECT_URL,
        scope: 'wl.skydrive_update',
        response_type: "token"
    });
    WL.ui({
        name: "signin",
        element: "signInButton",
        brand: "hotmail",
        type: "connect"
    });
    function greetUser(session) {
        var strGreeting = "";
        WL.api(
                {
                    path: "me",
                    method: "GET"
                },
                function (response) {
                    if (!response.error) {
                        strGreeting = "Hi, " + response.first_name + "!"
                        document.getElementById("greeting").innerHTML = strGreeting;
                    }
                });
    }

    function onLogin() {
        var session = WL.getSession();
        if (session) {
            greetUser(session);
        }
    }

    var apiURL = "https://apis.live.net/v5.0/me/";
    var tokenAuth = "E ----- 3d";

    //token is hardcoded above and then further utilized....

    var tokenAuthParam = "?access_token=" + tokenAuth;

</script>

<body>
<div id="greeting"></div>
<div id="signInButton"></div>

</body>

问题是我必须硬编码不正确的访问令牌。我应该能够以某种方式从回调 uri 中获取访问令牌。我只是想知道我怎样才能得到它。(我正在使用完整的客户端编码)

4

1 回答 1

1

要获取当前的访问令牌,您可以使用

WL.getSession().access_token
于 2013-04-24T15:38:12.563 回答