用于Javascript的Skydrive API中的回调URL

Callback URL in Skydrive API for Javascript

本文关键字:回调 URL Skydrive Javascript 用于 API      更新时间:2023-09-26

我正在使用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中获取访问令牌。。我只是想知道我该怎么做。(我使用完整的客户端编码)

要获得当前访问令牌,可以使用

WL.getSession().access_token